<!DOCTYPE html><html>
<head>
  <title id="app-title">wight框架</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0,user-scalable=no">
  
  <meta name="keywords" content="">
  <link rel="icon" href="/favicon.ico" type="image/x-icon">
  
  <link href="/wy-wxm-ww-ok/wight-app/static/css/styles/panda-syntax-dark.min.css" rel="stylesheet">
  <style>
    @charset "UTF-8";@keyframes a{0%{background-position:0 0}to{background-position:50px 50px}}@-webkit-keyframes a{0%{background-position:0 0}to{background-position:50px 50px}}@-webkit-keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}:root{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;line-height:1.5;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background-color:#fff;color:#444;font-size:16px;text-rendering:optimizeLegibility}@media (min-width:480px){:root{font-size:18px}}code,kbd,pre,samp{font-family:Consolas,monospace;font-size:.83333rem;background-color:#f5f5f5}kbd{background-color:transparent;outline:1px solid #dcdcdc}code,kbd{vertical-align:middle;display:inline-block;padding:0 .4em}pre{padding:.75rem 1em}pre>code{white-space:pre}hr{background-color:#dcdcdc;height:1px;overflow:visible;border:0}nav ol,nav ul{padding-left:0}nav li,ol li{list-style:none}dt{font-weight:700}blockquote{padding:0 1em}blockquote cite,blockquote footer{color:#777;font-size:83.33333%;margin-top:.75rem}blockquote cite:before,blockquote footer:before{content:"— "}abbr{-webkit-font-feature-settings:"kern"1,"liga"1,"calt"1,"pnum"1,"tnum"0,"onum"1,"lnum"0,"smcp"1,"c2sc"1;font-feature-settings:"kern"1,"liga"1,"calt"1,"pnum"1,"tnum"0,"onum"1,"lnum"0,"smcp"1,"c2sc"1;text-transform:uppercase}abbr[title]{border-bottom:1px solid #dcdcdc;cursor:help;text-decoration:none}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}progress{vertical-align:baseline}small,sub,sup{font-size:83.33333%}sub,sup{line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em;-webkit-font-feature-settings:"subs"1;font-feature-settings:"subs"1}sup{top:-.25em;-webkit-font-feature-settings:"sups"1;font-feature-settings:"sups"1}::-moz-selection{background-color:#ebe1d3;text-shadow:none}::selection{background-color:#ebe1d3;text-shadow:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}img{border-style:none}svg{fill:currentColor}svg:not(:root){overflow:hidden}a{background-color:transparent;-webkit-text-decoration-skip:objects;color:#c65146;text-decoration:none;-webkit-transition-duration:.15s;transition-duration:.15s}a:focus,a:hover{color:#7f2f27}a:hover{outline-width:0}table{border-collapse:collapse;border-spacing:0;width:100%}input,textarea{background-color:transparent}input,select,textarea{border-style:none;color:inherit}button,input,input[type=submit]{overflow:visible}button,input[type=submit],select{text-transform:none}[type=reset],[type=submit],button,html [type=button],input[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid #dcdcdc;padding:1.5rem 1em}legend{display:table;max-width:100%;white-space:normal;padding:0 .5em}textarea{overflow:auto;resize:vertical;height:auto;padding:.375rem .5em}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-cancel-button,::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}input[type=range]{border:0;padding:0;width:100%;-webkit-appearance:none}input[type=range]:focus{outline:0}input[type=range]::-moz-range-track{background-color:#dcdcdc;border:0;height:.3rem}input[type=range]::-ms-track{background-color:#dcdcdc;border:0;height:.3rem}input[type=range]::-webkit-slider-runnable-track{background-color:#dcdcdc;border:0;height:.3rem}input[type=range]::-moz-range-thumb{border:0;border-radius:50%;background-color:#c65146;height:.75rem;margin-top:-.225rem;width:.75rem}input[type=range]::-ms-thumb{border:0;border-radius:50%;background-color:#c65146;height:.75rem;margin-top:-.225rem;width:.75rem}input[type=range]::-webkit-slider-thumb{border:0;border-radius:50%;background-color:#c65146;height:.75rem;margin-top:-.225rem;width:.75rem;-webkit-appearance:none}button,input[type=submit]{background-color:#c65146;border:0;color:#fff;cursor:pointer;font-size:.83333rem;line-height:2.25rem;padding:0 1.5em;-webkit-transition:background-color .15s;transition:background-color .15s;white-space:nowrap}button:focus,button:hover,input[type=submit]:focus,input[type=submit]:hover{text-decoration:none;outline:0}button[disabled],input[disabled][type=submit]{background-color:#eee;cursor:not-allowed}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}[tabindex],a,area,button,input,input[type=submit],label,select,textarea{-ms-touch-action:manipulation;touch-action:manipulation}[hidden][aria-hidden=false]{clip:rect(0,0,0,0);display:inherit;position:absolute}[hidden][aria-hidden=false]:focus{clip:auto}*{margin:0}*+*{margin-top:1.5rem}[column],a,body,code,dd,div,h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,input,kbd,label,li,option,select,span,textarea{margin-top:0}h1,h2,h3,h4,h5,h6{font-size:2.0736rem;color:#222;font-family:Helvetica,Arial,sans-serif;line-height:1.3}h2,h3,h4,h5,h6{font-size:1.728rem}h3,h4,h5,h6{font-size:1.44rem}h4,h5,h6{font-size:1.2rem}h5,h6{font-size:1rem}h6{font-size:.83333rem}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:inherit;vertical-align:0;font-size:83.33333%}h1,h2,h3{margin:.75rem 0 .375rem}h1 a,h2 a,h3 a{color:inherit}h1 a:focus,h1 a:hover,h2 a:focus,h2 a:hover,h3 a:focus,h3 a:hover{text-decoration:none}h4,h5,h6{margin:.375rem 0}ul{padding-left:1em}ol ol,ol ul,ul ol,ul ul{padding-left:1.5em}ol{padding-left:0;counter-reset:a}ol li:before{content:counters(a,".")". ";counter-increment:a;margin-right:.2em}input:not([type=submit]),select,textarea{-webkit-transition-duration:.15s;transition-duration:.15s;width:100%;font-size:.83333rem;min-height:2.25rem}input:not([type=submit]):focus,select:focus,textarea:focus{border-color:#4eb1f9}input:not([type=submit])[disabled],select[disabled],textarea[disabled]{background-color:#eee;cursor:not-allowed;border:0}input:not([type=submit]):not([type=range]),select,textarea{border:1px solid #dcdcdc;padding:0 .75em}input[type=checkbox],input[type=file],input[type=image],input[type=radio]{height:auto;width:auto}input[type=checkbox],input[type=radio]{line-height:normal;padding:0;vertical-align:middle}input[type=file]{border:0;line-height:1.5rem;padding:0}select{background-color:transparent;padding-left:.5em;width:auto;min-width:10em;height:2.25rem}select[disabled]{color:#777}select[multiple]{height:auto;width:100%;padding:0}select::-ms-expand{display:none}select::-ms-value{color:currentColor}select option{padding:0 .75em}label{display:block;font-size:.83333rem;line-height:2.25rem}input[type=checkbox]+label,input[type=radio]+label{display:inline-block;margin-left:.5em}@media (min-width:480px){table{width:auto}}table tfoot,table thead{background-color:#f5f5f5;text-align:left}table td,table th{line-height:2.25rem;overflow:visible;padding:0 1em}table caption{font-size:.83333rem;font-style:italic;line-height:3rem;text-align:center}[container]{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:1rem;padding-right:1rem;overflow:auto}[grid]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:-1rem;margin-right:-1rem;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width:480px){[grid]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}[column]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding-left:1rem;padding-right:1rem}[grid~=no-gutters]{margin-left:0;margin-right:0}[grid~=no-gutters] [column]{padding-left:0;padding-right:0}[grid~=no-collapse]{-ms-flex-flow:row nowrap;flex-flow:row}[grid~=wrap]{-ms-flex-wrap:wrap;flex-wrap:wrap}[grid~=no-wrap]{-ms-flex-wrap:nowrap;flex-wrap:nowrap}[grid~=wrap-reverse]{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}[grid~=row-reverse],[grid~=row]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}[grid~=row-reverse]{-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}[grid~=column-reverse],[grid~=column]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}[grid~=column-reverse]{-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}[grid~=justify-start]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}[grid~=justify-end]{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}[grid~=justify-center]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[grid~=justify-between]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}[grid~=justify-around]{-ms-flex-pack:distribute;justify-content:space-around}[grid~=top]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}[grid~=center]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}[grid~=bottom]{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[grid~=baseline]{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}[grid~=stretch]{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}[column~=top]{-ms-flex-item-align:start;align-self:flex-start}[column~=center]{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}[column~=bottom]{-ms-flex-item-align:end;align-self:flex-end}@media (min-width:480px){[column~="1"],[column~="2"]{-webkit-box-flex:0;-ms-flex:0 1 8.33333%;flex:0 1 8.33333%;max-width:8.33333%}[column~="2"]{-ms-flex:0 1 16.66667%;flex:0 1 16.66667%;max-width:16.66667%}[column~="3"],[column~="4"]{-webkit-box-flex:0;-ms-flex:0 1 25%;flex:0 1 25%;max-width:25%}[column~="4"]{-ms-flex:0 1 33.33333%;flex:0 1 33.33333%;max-width:33.33333%}[column~="5"],[column~="6"]{-webkit-box-flex:0;-ms-flex:0 1 41.66667%;flex:0 1 41.66667%;max-width:41.66667%}[column~="6"]{-ms-flex:0 1 50%;flex:0 1 50%;max-width:50%}[column~="7"],[column~="8"]{-webkit-box-flex:0;-ms-flex:0 1 58.33333%;flex:0 1 58.33333%;max-width:58.33333%}[column~="8"]{-ms-flex:0 1 66.66667%;flex:0 1 66.66667%;max-width:66.66667%}[column~="10"],[column~="9"]{-webkit-box-flex:0;-ms-flex:0 1 75%;flex:0 1 75%;max-width:75%}[column~="10"]{-ms-flex:0 1 83.33333%;flex:0 1 83.33333%;max-width:83.33333%}[column~="11"],[column~="12"]{-webkit-box-flex:0;-ms-flex:0 1 91.66667%;flex:0 1 91.66667%;max-width:91.66667%}[column~="12"]{-ms-flex:0 1 100%;flex:0 1 100%;max-width:100%}[column~="+1"]{margin-left:8.33333%}[column~="+2"]{margin-left:16.66667%}[column~="+3"]{margin-left:25%}[column~="+4"]{margin-left:33.33333%}[column~="+5"]{margin-left:41.66667%}[column~="+6"]{margin-left:50%}[column~="+7"]{margin-left:58.33333%}[column~="+8"]{margin-left:66.66667%}[column~="+9"]{margin-left:75%}[column~="+10"]{margin-left:83.33333%}[column~="+11"]{margin-left:91.66667%}[column~="+12"]{margin-left:100%}}@media print{@page{margin:2cm}*,:after,:before{background:0 0!important;color:#000!important;-webkit-filter:none!important;filter:none!important;text-shadow:none!important}:root{background-color:#fff;color:#000;font:12pt/1.4 Georgia,Times New Roman,Times,serif}body{width:100%!important;margin:0!important;padding:0!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;font-family:Georgia,Times New Roman,Times,serif}h1{font-size:19pt}h2{font-size:17pt}h3{font-size:15pt}h4,h5,h6{font-size:14pt}img{max-width:100%!important;page-break-after:avoid}a[href^="#"]:after,audio,embed,footer,nav,object,video{display:none;visibility:hidden}h2,h3,p{orphans:3;widows:3}a,a:visited{color:#000;font-size:.57em;text-decoration:underline;word-wrap:break-word}a:visited[href]:after,a[href]:after{content:" ("attr(href)")";font-size:smaller}q:after{content:" (Source: "attr(cite)")"}abbr[title]:after{content:" ("attr(title)")"}a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}code,pre{background-color:transparent;border:1px solid #dcdcdc}blockquote,code,img,pre,tr{page-break-inside:avoid}blockquote{border:0}thead{display:table-header-group}ol{padding-left:1.25em}ul{padding-left:0;list-style:none}ul ul,ul ul ul{padding-left:1.5em}ol li,ul li{content:"&raquo; "}}.alert-box,.breadcrumb-nav{background-color:#f5f5f5;font-size:.83333rem}.alert-box{border:1px solid #dcdcdc;padding:.75rem 1em;position:relative;color:#777}.alert-box>.close{color:inherit;position:absolute;right:1em;top:.8em;opacity:.5;-webkit-transition:opacity .15s;transition:opacity .15s}.alert-box>.close:hover{opacity:1}.alert-box.-muted{background-color:rgba(237,237,237,.15);border-color:rgba(237,237,237,.2);color:#d5d5d5}.alert-box.-muted a{color:#bbb}.alert-box.-success{background-color:rgba(16,168,135,.15);border-color:rgba(16,168,135,.2);color:#0c7962}.alert-box.-success a{color:#074b3c}.alert-box.-warning{background-color:rgba(241,127,66,.15);border-color:rgba(241,127,66,.2);color:#ed5f13}.alert-box.-warning a{color:#bf4c0e}.alert-box.-error{background-color:rgba(218,60,60,.15);border-color:rgba(218,60,60,.2);color:#bf2424}.alert-box.-error a{color:#941c1c}.breadcrumb-nav{padding:.75rem 1.5em;font-weight:700}.breadcrumb-nav>.item{display:inline;list-style:none;margin-right:1em}.breadcrumb-nav>.item:not(:last-child):after{color:#dcdcdc;content:"/";margin-left:1em}.breadcrumb-nav>.item.-active,.breadcrumb-nav>.item.-active a{color:#777;font-weight:400}.button-group{padding:0;display:-webkit-box;display:-ms-flexbox;display:flex}.button-group>li{list-style:none;border:1px solid #dcdcdc;font-size:.83333rem}.button-group>li:first-child{border-radius:3px 0 0 3px}.button-group>li:last-child{border-radius:0 3px 3px 0}.button-group>li:not(:last-child){border-right:0}.button-group .item{display:inline-block;line-height:1.5rem;padding:0 1em;-webkit-transition:background-color .15s;transition:background-color .15s}.button-group .item:focus,.button-group .item:hover{background-color:#f5f5f5}.button-group .item.-active{background-color:#f5f5f5;color:#777}.card-box{border:1px solid #dcdcdc;overflow:hidden;position:relative}.card-box>.image{max-width:100%}.card-box>.header{font-weight:700}.card-box>.footer{font-size:.83333rem}.card-box>.footer,.card-box>.header{padding:.75rem 1em;background-color:#f5f5f5}.card-content{padding:1.5rem 1em}.card-content>.title{margin-top:0}.dropdown-button{cursor:pointer;display:inline-block;outline:0;position:relative}.dropdown-button:focus{pointer-events:none}.dropdown-button.-hover:hover .dropdown-content,.dropdown-button:focus .dropdown-content{opacity:1;visibility:visible}.dropdown-button.-top .dropdown-content{bottom:100%;margin-top:0;margin-bottom:.375rem}.dropdown-content{background-color:#fff;border:1px solid #dcdcdc;color:#444;left:0;margin-top:.375rem;opacity:0;padding:0;pointer-events:auto;position:absolute;text-align:left;-webkit-transition-duration:.15s;transition-duration:.15s;visibility:hidden;min-width:10em;z-index:1;font-size:.83333rem}.dropdown-content>.item{list-style-type:none;margin:0;padding:.375rem 1em;-webkit-transition:background-color .15s;transition:background-color .15s;white-space:nowrap}.dropdown-content>.item:focus,.dropdown-content>.item:hover{background-color:#f5f5f5}.dropdown-content>.text{padding:.375rem 1em}.progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 1px rgba(219,219,219,.25);box-sizing:initial;color:#fff;font-size:.83333rem;height:.75rem;line-height:1.2;position:relative;text-align:center;width:100%}.progress-bar>.progress{background-color:#c65146;border-radius:3px;box-shadow:inset 0-1px 0 rgba(0,0,0,.15);display:block;height:100%;overflow:hidden;position:relative}.progress-bar.-striped>.progress:after{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.2) 25%,transparent 0,transparent 50%,rgba(255,255,255,.2)0,rgba(255,255,255,.2) 75%,transparent 0,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 0,transparent 50%,rgba(255,255,255,.2)0,rgba(255,255,255,.2) 75%,transparent 0,transparent);background-size:50px 50px;background-repeat:repeat;bottom:0;content:"";left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}.progress-bar.-striped.-animated>.progress:after{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}.progress-bar.-small{font-size:.83333rem;height:10px;line-height:1.2}.progress-bar.-large{font-size:1rem;height:25px;line-height:1.7}.progress-bar.-stacked>.progress{border-radius:0;display:block;float:left}.progress-bar.-stacked>.progress:first-of-type{border-radius:3px 0 0 3px}.progress-bar.-stacked>.progress:last-of-type{border-radius:0 3px 3px 0}.tag-box{background-color:#f5f5f5;color:#777;border-radius:.2em;display:inline-block;font-size:83.33333%;padding:0 .5em;font-weight:400}.tag-box.-pill{border-radius:2em}.tag-box.-muted{background-color:rgba(237,237,237,.15);color:#d5d5d5}.tag-box.-success{background-color:rgba(16,168,135,.15);color:#0c7962}.tag-box.-warning{background-color:rgba(241,127,66,.15);color:#ed5f13}.tag-box.-error{background-color:rgba(218,60,60,.15);color:#bf2424}button.-bordered{background-color:transparent;border:1px solid #c65146;color:#c65146}button.-bordered:focus,button.-bordered:hover{background-color:#c65146;color:#fff}button.-bordered[disabled]{border-color:#eee;color:#eee}button.-bordered.-muted,button.-bordered[disabled]:active,button.-bordered[disabled]:focus,button.-bordered[disabled]:hover{background-color:transparent;border-color:#eee;color:#eee}button.-bordered.-muted:focus,button.-bordered.-muted:hover{background-color:#eee}button.-bordered.-muted:active{background-color:ligthen(#eee,5%)}button.-bordered.-muted:active,button.-bordered.-muted:focus,button.-bordered.-muted:hover{color:#fff}button.-bordered.-success{border-color:#10a887;background-color:transparent;color:#10a887}button.-bordered.-success:focus,button.-bordered.-success:hover{background-color:#10a887}button.-bordered.-success:active{background-color:ligthen(#10a887,5%)}button.-bordered.-success:active,button.-bordered.-success:focus,button.-bordered.-success:hover{color:#fff}button.-bordered.-warning{border-color:#f17f42;background-color:transparent;color:#f17f42}button.-bordered.-warning:focus,button.-bordered.-warning:hover{background-color:#f17f42}button.-bordered.-warning:active{background-color:ligthen(#f17f42,5%)}button.-bordered.-warning:active,button.-bordered.-warning:focus,button.-bordered.-warning:hover{color:#fff}button.-bordered.-error{border-color:#da3c3c;background-color:transparent;color:#da3c3c}button.-bordered.-error:focus,button.-bordered.-error:hover{background-color:#da3c3c}button.-bordered.-error:active{background-color:ligthen(#da3c3c,5%)}button.-bordered.-error:active,button.-bordered.-error:focus,button.-bordered.-error:hover{color:#fff}button.-muted{background-color:#eee;color:#fff}button.-muted:focus,button.-muted:hover{background-color:#fbfbfb}button.-muted:active{background-color:#fff}button.-success{background-color:#10a887;color:#fff}button.-success:focus,button.-success:hover{background-color:#12bf9a}button.-success:active{background-color:#14d7ac}button.-warning{background-color:#f17f42;color:#fff}button.-warning:focus,button.-warning:hover{background-color:#f38f5a}button.-warning:active{background-color:#f59f71}button.-error{background-color:#da3c3c;color:#fff}button.-error:focus,button.-error:hover{background-color:#de5151}button.-error:active{background-color:#e26767}button.-prefix{padding-left:0}button.-affix>.affix,button.-prefix .prefix{background-color:rgba(0,0,0,.15);display:inline-block;padding:0 1em;vertical-align:0}button.-prefix .prefix{margin-right:1.25em}button.-affix{padding-right:0}button.-affix>.affix{margin-left:1.25em}.spinner{-webkit-animation:b .8s infinite linear;animation:b .8s infinite linear;border:3px solid #b5b5b5;border-radius:50%;border-right-color:transparent;height:40px;margin:1.5rem auto;width:40px}.fullbox,[fullbox]{margin:0 auto;padding:0 .2rem}.container,.page-box,[page-box]{margin:0 auto;padding:0 .68rem}.row,[row]{box-sizing:border-box;display:flex;flex-flow:row wrap}.flex-middle,[flex-middle]{align-items:center}.flex-item,[flex-item]{flex:0 1 auto}.row-nowrap,[row-nowrap]{flex-flow:row nowrap}.row-space,[row-space]{justify-content:space-around}.cell,[cell]{padding-left:.5rem;padding-right:.5rem;flex:1;box-sizing:border-box}.c-0-5,[c-0-5]{width:4.15%;box-sizing:border-box}.c-1,.c-2,[c-1],[c-2]{width:8.333333%;box-sizing:border-box}.c-2,[c-2]{width:16.666666%}.c-3,.c-4,[c-3],[c-4]{width:25%;box-sizing:border-box}.c-4,[c-4]{width:33.333333%}.c-5,.c-6,[c-5],[c-6]{width:41.666666%;box-sizing:border-box}.c-6,[c-6]{width:50%}.c-7,.c-8,[c-7],[c-8]{width:58.336666%;box-sizing:border-box}.c-8,[c-8]{width:66.666666%}.c-10,.c-9,[c-10],[c-9]{width:75%;box-sizing:border-box}.c-10,[c-10]{width:83.333333%}.c-11,.c-12,[c-11],[c-12]{width:91.666666%;box-sizing:border-box}.c-12,[c-12]{width:100%}@media only screen and (max-width:750px){.hide-for-small,.show-large-only,.show-middle-plus,[hide-for-small],[show-large-only],[show-middle-plus]{visibility:hidden;display:none}.sm-0-5,[sm-0-5]{width:4.15%;box-sizing:border-box}.sm-1,.sm-2,[sm-1],[sm-2]{width:8.333333%;box-sizing:border-box}.sm-2,[sm-2]{width:16.666666%}.sm-3,.sm-4,[sm-3],[sm-4]{width:25%;box-sizing:border-box}.sm-4,[sm-4]{width:33.333333%}.sm-5,.sm-6,[sm-5],[sm-6]{width:41.666666%;box-sizing:border-box}.sm-6,[sm-6]{width:50%}.sm-7,.sm-8,[sm-7],[sm-8]{width:58.33%;box-sizing:border-box}.sm-8,[sm-8]{width:66.666666%}.sm-10,.sm-9,[sm-10],[sm-9]{width:75%;box-sizing:border-box}.sm-10,[sm-10]{width:83.333333%}.sm-11,.sm-12,[sm-11],[sm-12]{width:91.666666%;box-sizing:border-box}.sm-12,[sm-12]{width:100%}}@media only screen and (min-width:751px) and (max-width:1280px){.hide-for-middle,.show-large-only,.show-small-only,[hide-for-middle],[show-large-only],[show-small-only]{visibility:hidden;display:none}.md-0-5,[md-0-5]{width:4.15%;box-sizing:border-box}.md-1,.md-2,[md-1],[md-2]{width:8.333333%;box-sizing:border-box}.md-2,[md-2]{width:16.666666%}.md-3,.md-4,[md-3],[md-4]{width:25%;box-sizing:border-box}.md-4,[md-4]{width:33.333333%}.md-5,.md-6,[md-5],[md-6]{width:41.666666%;box-sizing:border-box}.md-6,[md-6]{width:50%}.md-7,.md-8,[md-7],[md-8]{width:58.333333%;box-sizing:border-box}.md-8,[md-8]{width:66.666666%}.md-10,.md-9,[md-10],[md-9]{width:75%;box-sizing:border-box}.md-10,[md-10]{width:83.333333%}.md-11,.md-12,[md-11],[md-12]{width:91.666666%;box-sizing:border-box}.md-12,[md-12]{width:100%}}@media only screen and (min-width:1281px){.hide-for-large,.show-small-only,[hide-for-large],[show-small-only]{visibility:hidden;display:none}.lg-0-5,[lg-0-5]{width:4.15%;box-sizing:border-box}.lg-1,.lg-2,[lg-1],[lg-2]{width:8.333333%;box-sizing:border-box}.lg-2,[lg-2]{width:16.666666%}.lg-3,.lg-4,[lg-3],[lg-4]{width:25%;box-sizing:border-box}.lg-4,[lg-4]{width:33.333333%}.lg-5,.lg-6,[lg-5],[lg-6]{width:41.666666%;box-sizing:border-box}.lg-6,[lg-6]{width:50%}.lg-7,.lg-8,[lg-7],[lg-8]{width:58.333333%;box-sizing:border-box}.lg-8,[lg-8]{width:66.666666%}.lg-10,.lg-9,[lg-10],[lg-9]{width:75%;box-sizing:border-box}.lg-10,[lg-10]{width:83.333333%}.lg-11,.lg-12,[lg-11],[lg-12]{width:91.666666%;box-sizing:border-box}.lg-12,[lg-12]{width:100%}}
    @keyframes -w-common-slide-show{0%{width:15%}25%{width:25%}55%{width:35%}75%{width:50%}90%{width:70%}to{width:79%}}@keyframes -w-common-slide-close{0%{width:2%}25%{width:5%}55%{width:10%}75%{width:12%}90%{width:18%}to{width:20%}}@keyframes -w-notify-from-top{0%{top:1%}}@keyframes -w-notify-from-bottom{0%{transform:translateX(90%) translateY(90%)}}@keyframes -w-prompt-show-middle{0%{height:8%;min-height:8%}50%{height:15%;min-height:15%}to{height:20%;min-height:20%}}@keyframes -w-prompt-show-bottom{0%{bottom:-10%;overflow-y:hidden}50%{bottom:1%;overflow-y:hidden}to{bottom:5%;overflow-y:auto}}@keyframes -w-prompt-show-top{0%{top:0;min-height:20%;max-height:70%;overflow-y:hidden}50%{top:5%;min-height:20%;max-height:72%;overflow-y:hidden}to{top:7%;min-height:20%;max-height:75%;overflow-y:auto}}@keyframes -w-hide-common-slide-right{0%{width:75%}15%{width:65%}25%{width:50%}35%{width:35%}45%{width:15%}55%{width:5%}65%,75%,to{width:0%}}@keyframes -w-hide-common-slide-right-close{0%{width:20%}15%{width:18%}25%{width:15%}35%{width:10%}45%{width:5%}55%,65%,75%,to{width:0%}}@keyframes -w-prompt-middle-close{0%{max-height:65%;overflow-y:hidden}20%{max-height:35%;overflow-y:hidden}35%{max-height:20%;overflow-y:hidden}50%{min-height:0%;max-height:15%;height:15%;overflow-y:hidden}65%{min-height:0%;max-height:10%;height:10%;overflow-y:hidden}80%{min-height:0%;max-height:2%;height:2%;overflow-y:hidden}90%,to{min-height:0%;max-height:0%;height:0%;overflow-y:hidden}}@keyframes -w-prompt-top-close{0%{top:9%;max-height:65%;overflow-y:hidden}20%{top:5%;max-height:35%;overflow-y:hidden}35%{top:0;max-height:20%;overflow-y:hidden}50%{top:0;min-height:0%;max-height:15%;height:15%;overflow-y:hidden}75%{top:0;min-height:0%;max-height:10%;height:10%;overflow-y:hidden}80%{top:0;min-height:0%;max-height:2%;height:2%;overflow-y:hidden}90%,to{top:0;min-height:0%;max-height:0%;height:0%;overflow-y:hidden}}.w-global-notify-box,.w-prompt-box{border-radius:.1rem}.w-common-slide-public{animation:-w-common-slide-show .158s 1}.w-common-slide-close-public{animation:-w-common-slide-close .158s 1}.w-notify-bottom{animation:-w-notify-from-bottom .158s 1}.w-notify-top{animation:-w-notify-from-top .158s 1}.w-prompt-middle{animation:-w-prompt-show-middle .1s 1}.w-prompt-bottom{animation:-w-prompt-show-bottom .1s 1}.w-prompt-top{animation:-w-prompt-show-top .1s 1}.m-w-common-slide-right{animation:-w-hide-common-slide-right .173s 1}.m-w-common-slide-right-close{animation:-w-hide-common-slide-right-close .173s 1}.m-w-prompt-top{animation:-w-prompt-top-close .173s 1}.m-w-prompt-middle{animation:-w-prompt-middle-close .173s 1}:root{--w-alert-bg-color:#f6f7f9;--w-alert-color:#4a4a4a;--w-alert-close-bg-color:#f5f6f7;--w-tabbar-color:#4a4a4f;--w-tabbar-bg-color:#fdfdfd;--w-page-bg-color:#fcfcff;--w-slider-bg-color:#fcfcff;--w-slider-close-bg-color:rgba(21,22,25,0.32);--w-common-shadow:0px 0.1rem 1.2rem 0.1rem rgba(15, 15, 15, 0.1),inset 0px -0.1rem 0px 0px rgba(15,15,15,0.1);--w-notify-color:#f1f2f3;--w-notify-bg-color:rgba(62, 64, 68, 0.85);--w-notify-light-color:#4a4a4a;--w-notify-light-bg-color:rgba(240, 240, 240, 0.95);--w-prompt-color:#4a4a4a;--w-prompt-bg-color:#fafafd;--w-prompt-glass-bg-color:rgba(42,43,45, 0.033);--w-cover-bg-color:rgba(22,23,25, 0.13)}.w-tabbar-row-x{z-index:3;position:fixed;width:100%;bottom:0;left:0;background:var(--w-tabbar-bg-color, #fbfbfd);min-height:2.2rem;max-height:3.6rem;display:flex;flex-flow:row nowrap;justify-content:space-around;align-items:flex-end}.w-tabbar-row-cell{color:var(--w-tabbar-color, #4a4a4f);padding:.12rem;text-align:center;border-right:solid .05rem #eaeaef;vertical-align:middle;cursor:pointer}.w-current-page-display{z-index:5;position:fixed;width:100%;left:0;height:100%;overflow-y:auto;overflow-x:hidden;overflow-wrap:break-word;top:0;background:var(--w-page-bg-color, #fcfcff)}.w-hide-cur-page{width:0%;height:0%;visibility:hidden;display:none}.w-common-slide-public{padding:.6rem;z-index:99;position:fixed;top:0;height:100%;width:79.9%;word-wrap:break-word;word-break:break-all;overflow-y:auto;background:var(--w-slider-bg-color,#fcfcff)}.w-common-slide-close-public{z-index:99;position:fixed;top:0;height:100%;width:20%;background:var(--w-slider-close-bg-color,rgba(21,22,25,0.32))}.w-common-slide-right{right:0}.w-common-slide-left,.w-common-slide-right-close{left:0}.w-common-slide-left-close{right:0}.w-hide-common-slide-right,.w-hide-common-slide-right-close{width:0;height:0;visibility:hidden;display:none}.w-global-notify-box{z-index:104;position:fixed;line-height:150%;color:var(--w-notify-color, #f1f2f3);min-height:9%;max-height:56.5%;overflow-y:auto;overflow-x:hidden;word-break:break-all;word-wrap:break-word;background:var(--w-notify-bg-color, rgba(62, 64, 68, 0.85));box-shadow:var(--w-notify-shadow, var(--w-common-shadow, 0.25rem 0.25rem 0.25rem #a1a2a3));padding:.5rem}.w-notify-light{background:var(--w-notify-light-bg-color, rgba(240, 240, 240, 0.95));color:var(--w-notify-light-color, #4a4a4a)}.w-notify-bottom{right:2%;bottom:2.35%}.w-notify-top,.w-prompt-box{left:50%;transform:translateX(-50%)}.w-notify-top{top:5%}.w-prompt-box{z-index:101;position:fixed;word-break:break-all;word-wrap:break-word;color:var(--w-prompt-color, #424242);background:var(--w-prompt-bg-color, #fafafd);box-shadow:var(--w-prompt-shadow, var(--w-common-shadow, 0.2rem 0.2rem 0.2rem #d1d2d3));padding:.5rem;overflow:auto}.w-prompt-box a{text-decoration:none}.w-prompt-glass{background:var(--w-prompt-glass-bg-color, rgba(42,43,45, 0.035));color:#4a4a4f}.w-prompt-dark{background:rgba(81,82,83,.95);color:#efefef}.w-prompt-dark div,.w-prompt-dark p,.w-prompt-dark span{color:#efefef}.w-prompt-dark a{color:#e2e2ef}.w-prompt-close{z-index:100;position:fixed;background:rgba(38,38,38,.0298);width:99.999%;height:99.999%;top:0;left:0}.w-prompt-close-glass{background:rgba(38,38,38,.0123)}.w-prompt-bottom{bottom:5%;min-height:10%;max-height:72%}.w-prompt-middle,.w-prompt-top{z-index:103;min-height:20%;max-height:86%}.w-prompt-middle{bottom:50%;transform:translate(-50%,46.5%)}.w-prompt-top{top:7%}.w-prompt-block{top:0;height:99.9%;width:99.9%}.w-navigate-btn{z-index:7;position:fixed;bottom:8%;padding:.32rem;font-size:80%;color:#4a4a4f;min-width:2%;max-width:25%;text-align:center}.w-navigate-btn-up{bottom:28%}.w-navigate-btn-bk{background:#4a4a4f}.w-navigate-btn-bkrgba{background:rgba(67,67,73,.45)}.w-navigate-btn-bklucency{background:rgba(67,67,73,.12)}.w-navigate-btn a{color:#4a4a4f;text-decoration:none}.w-navigate-btn-left{left:.5%;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.w-navigate-btn-right{right:.5%;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.w-navigate-btn-bottom{min-width:10%;max-width:95%;bottom:1.5%;left:50%;transform:translateX(-50%)}.w-alert-cover-page{z-index:104;position:fixed;width:100%;height:100%;background:var(--w-cover-bg-color, rgba(22,23,25, 0.13))}.w-alert-cover-glass{background:rgba(235,235,235,.001)}.w-global-alert-info{z-index:105;position:fixed;left:50%;transform:translateX(-50%);top:10%;word-break:break-all;word-wrap:break-word;line-height:2rem;color:var(--w-alert-color, #4a4a4a);min-height:4rem;max-height:86.5%;overflow-y:auto;background:var(--w-alert-bg-color, #f7f8fa);padding:.5rem}.w-global-alert-trans{background:rgba(252,252,252,.025)}@media only screen and (max-width:750px){.w-global-alert-info,.w-global-alert-info-close{width:81%}.w-prompt-display{width:92%}.w-global-notify-info{width:78%}}@media only screen and (min-width:751px) and (max-width:1000px){.w-global-alert-info,.w-global-alert-info-close{width:69.6%}.w-prompt-display{width:86%}.w-global-notify-info{width:69%}}@media only screen and (min-width:1001px) and (max-width:1200px){.w-global-alert-info,.w-global-alert-info-close{width:58.5%}.w-global-notify-info{width:58%}.w-prompt-display{width:80%}}@media only screen and (min-width:1201px) and (max-width:1440px){.w-global-alert-info,.w-global-alert-info-close{width:48.9%}.w-global-notify-info{width:48%}.w-prompt-display{width:76%}}@media only screen and (min-width:1441px){.w-global-alert-info,.w-global-alert-info-close{width:39.5%}.w-global-notify-info{width:39%}.w-prompt-display{width:69%}}
    @keyframes look{0%{transform:scale(.3)}25%{transform:scale(.5)}45%{transform:scale(.7)}55%{transform:scale(.9)}80%,to{transform:scale(1)}}@keyframes heartbeat{0%{transform:scale(.86)}5%{transform:scale(.95)}15%,40%{transform:scale(1)}20%,30%,35%{transform:scale(1.1)}25%{transform:scale(1.13)}}@keyframes broadcast{0%{transform:scale(.86)}5%{transform:scale(.95)}15%,65%{transform:scale(1)}20%,55%,60%{transform:scale(1.1)}25%,30%,40%,45%,50%{transform:rotateZ(-15deg)}35%{transform:scale(1.13)}}@keyframes notice{0%{transform:scale(.9)}5%{transform:scale(.95)}15%,25%{transform:scale(1)}20%{transform:scale(1.1)}30%{transform:rotateX(100deg)}35%{transform:rotateX(180deg)}40%{transform:rotateX(240deg)}45%{transform:rotateX(300deg)}50%{transform:rotateX(360deg)}}@keyframes notice2{0%{transform:scale(.9)}5%{transform:scale(.95)}10%,35%,to{transform:scale(1)}25%{transform:scale(1.05)}45%{transform:rotateZ(100deg)}55%{transform:rotateZ(240deg)}65%{transform:rotateZ(360deg)}}@keyframes rotate{0%{transform:rotateZ(30deg)}16%{transform:rotateZ(60deg)}24%{transform:rotateZ(90deg)}32%{transform:rotateZ(120deg)}40%{transform:rotateZ(150deg)}48%{transform:rotateZ(180deg)}56%{transform:rotateZ(210deg)}64%{transform:rotateZ(240deg)}72%{transform:rotateZ(270deg)}80%{transform:rotateZ(300deg)}88%{transform:rotateZ(330deg)}to{transform:rotateZ(360deg)}}@keyframes rotatey{0%{transform:rotateY(30deg)}16%{transform:rotateY(60deg)}24%{transform:rotateY(90deg)}32%{transform:rotateY(120deg)}40%{transform:rotateY(150deg)}48%{transform:rotateY(180deg)}56%{transform:rotateY(210deg)}64%{transform:rotateY(240deg)}72%{transform:rotateY(270deg)}80%{transform:rotateY(300deg)}88%{transform:rotateY(330deg)}to{transform:rotateY(360deg)}}@keyframes rotateydy{0%{transform:rotateY(30deg)}5%{transform:rotateY(60deg)}10%{transform:rotateY(90deg)}15%{transform:rotateY(120deg)}20%{transform:rotateY(150deg)}25%{transform:rotateY(180deg)}30%{transform:rotateY(210deg)}35%{transform:rotateY(240deg)}40%{transform:rotateY(270deg)}45%{transform:rotateY(300deg)}50%{transform:rotateY(330deg)}55%{transform:rotateY(360deg)}}@keyframes rotate3d{0%{transform:rotateZ(30deg)}5%{transform:rotateZ(60deg)}10%{transform:rotateZ(90deg)}15%{transform:rotateZ(120deg)}20%{transform:rotateZ(180deg)}25%{transform:rotateZ(240deg)}30%{transform:rotateZ(300deg)}35%{transform:rotateZ(360deg)}40%{transform:rotateX(40deg)}45%{transform:rotateX(100deg)}50%{transform:rotateX(150deg)}55%{transform:rotateX(200deg)}60%{transform:rotateX(270deg)}65%{transform:rotateX(300deg)}70%{transform:rotateX(360deg)}75%{transform:rotateY(60deg)}80%{transform:rotateY(120deg)}85%{transform:rotateY(180deg)}90%{transform:rotateY(240deg)}95%{transform:rotateY(300deg)}to{transform:rotateY(360deg)}}@keyframes moveup{0%{transform:translateY(90%)}10%{transform:translateY(50%)}20%{transform:translateY(0)}30%{transform:translateY(-50%)}40%{transform:translateY(-90%)}50%{transform:translateY(-135%)}60%{transform:translateY(-180%)}70%{transform:translateY(-240%)}80%{transform:translateY(-300%)}90%{transform:translateY(-310%)}95%{transform:translateY(-320%)}to{transform:translateY(-323%)}}@keyframes moveupend{0%{transform:translateY(-323%)}20%{transform:translateY(-325%)}40%{transform:translateY(-327%)}60%{transform:translateY(-330%)}80%{transform:translateY(-331%)}to{transform:translateY(-333%)}}@font-face{font-family:"JetBrainsMono";src:url(/wy-wxm-ww-ok/wight-app/static/font/JetBrainsMono-Regular.ttf)}[container]{max-width:2240px}:root{font-size:16px;font-family:"JetBrainsMono,Helvetica,Arial,sans-serif";--w-prompt-bg-color:#f7f9fb}div,h1,h2,h3,h4,h5,h6,input:not([type=submit]):not([type=range]),p,span{font-family:"JetBrainsMono,Helvetica,Arial,sans-serif"}button:active,button:hover,input[type=submit]:active,input[type=submit]:hover{background-color:#5981f9}button{background:#148de3;border-radius:.08rem}textarea:focus{outline:0}input:not([type=submit]):focus{outline:0;border:solid .5px #27a3fb}.bold,[bold]{font-weight:700}.short-input,[short-input]{width:60%}.middle-input,[middle-input]{width:80%}.long-input,[long-input],table{width:100%}.editor-area{min-height:25rem;overflow:auto;margin-top:.15rem}.btn-circle,[btn-circle]{width:2.65rem;height:2.65rem;border-radius:1.325rem;background-color:#f5f6f8;box-shadow:var(--w-common-shadow, -0.12rem 0.2rem 0.23rem rgba(125, 125, 125, 0.56));line-height:2.65rem;text-align:center;font-size:.95em;color:#4a4a4f;overflow:hidden;margin-left:.28rem;margin-right:.28rem;cursor:pointer;margin-bottom:.36rem;user-select:none}.btn-block,[btn-block]{width:2.8rem;height:2rem;line-height:2rem;border-radius:.25rem}.btn-orange,[btn-orange]{background:#ef8630;color:#424345}.btn-gray,[btn-gray]{background:#d1d2d5;color:#424345}.btn-light-gray,[btn-light-gray]{background:#dfdfe1;color:#424345}.btn-dark,[btn-dark]{background:#5c5c5c;color:#dfdfdf}.btn-dark-rgba,[btn-dark-rgba]{background:rgba(105,105,105,.58);color:#dfdfdf}.btn-blue,[btn-blue]{background:#4b73eb;color:#202020}.btn-red,[btn-red]{background:#ca4545;color:#424245}.btn-ok,[btn-ok]{background:#3ca8bb;color:#424345}input[type=submit]{background:#a84e70;border-radius:.08rem}input[ok]{background:#1ba3a3}.testok{background:#d9dde0}.btn-set{background:#e44a82;color:#424345}.btn-search{background:#5e5ef5;color:#424345}.a-menu,[a-menu]{text-decoration:none;color:#4a4a59}.spana,[spana]{cursor:pointer;padding:.25rem;color:#4a4a68;line-height:120%;user-select:none}.spana-middle,[spana-middle]{font-size:92%}.spana-small,[spana-small]{font-size:86%}.spana-tiny,[spana-tiny]{font-size:80%}.align-center,[align-center]{text-align:center}.align-left,[align-left]{text-align:left}.align-right,[align-right]{text-align:right}.alert-text,[alert-text]{color:#d93516}.middle,[middle]{font-size:92%}.small,[small]{font-size:85%}.tiny,[tiny]{font-size:78%}.helper,[helper]{font-size:85%;color:#676869}.italic,[italic]{font-style:italic}.helper-light,[helper-light]{font-size:86%;color:#dfdfe2}.padding-0-25,[padding-0-25]{padding:.25rem}.padding-0-5,[padding-0-5]{padding:.5rem}.padding-0-8,[padding-0-8]{padding:.8rem}.padding,[padding]{padding:1rem}.mtop-0-5,[mtop-0-5]{margin-top:.5rem}.mleft-0-5,[mleft-0-5]{margin-left:.5rem}.mright-0-5,[mright-0-5]{margin-right:.5rem}.mbottom-0-5,[mbottom-0-5]{margin-bottom:.5rem}.mtop,[mtop]{margin-top:1rem}.mtop-2,[mtop-2]{margin-top:2rem}.mbottom,[mbottom]{margin-bottom:1rem}.loadinfo-worker{border:1px solid #4556d5}.loadinfo-master{border:1px solid #676869}.image,[image]{width:auto;height:auto;max-width:100%;border-radius:.1rem}.card-head,[card-head]{font-weight:680}.card,[card]{padding:.6rem;border-radius:.18rem;box-shadow:.2rem .2rem .2rem #efeff2;margin:.8rem auto}.inset-shadow,[inset-shadow]{box-shadow:0 .1rem 1.2rem .1rem rgba(15,15,15,.1),inset 0-.1rem 0 0 rgba(15,15,15,.1)}.card-space,[card-space]{margin:.38rem auto}.icon-small,[icon-small]{width:1.1rem;height:auto}.icon,[icon]{width:1.68rem;height:auto}.icon-large,[icon-large]{width:2.5rem;height:auto}.block,[block]{border:#e5e8e9 solid 1px;padding:.35rem}.select,[select]{background:#efeff2}.select-blue,[select-blue]{background:#5689f9}.content-preview{padding:.25rem;margin-bottom:1rem;margin-top:.8rem}.lh158,[lh158]{line-height:158%}.lh2,[lh2]{line-height:200%}.line,[line]{width:100%;height:.25rem;margin-bottom:.58rem;border-bottom:solid #cdcdcf .08rem}.blue-dark,[blue-dark]{color:#1573b6}.blue,[blue]{color:#2298ed}.dark,[dark]{color:#32373d}.dark-light,[dark-light]{color:#4f4f4f}.red,[red]{color:#cd5245}.pink-red,[pink-red]{color:#db3186}.red-light,[red-light]{color:#dc3c3c}.red-dark,[red-dark]{color:#b73333}.orange,[orange]{color:#f17f42}.gray,[gray]{color:#666}.gray-light,[gray-light]{color:#a9a9a9}.editor-title{background:#565758;color:#dfdfdf}.hide,[hide]{display:none;visibility:hidden}.click,[click]{cursor:pointer}.click:hover,[click]:hover,a:hover{color:#212223;text-shadow:2px 2px .5rem #d1d1d1}.click:active,[click]:active,a:active{font-size:98.9%;transform:scale(.95)}.click-middle:active,[click-middle]:active{font-size:91.5%;transform:scale(.95)}.click-small:active,[click-small]:active{font-size:82%;transform:scale(.95)}.click,.select-none,[click],[select-none]{user-select:none}.center,[center]{display:grid;place-items:center}.circle-image,[circle-image]{border-radius:50%}.am-notice1,[am-notice1]{animation:notice 1.5s 2}.am-notice2,[am-notice2]{animation:notice2 1.5s 2}.am-notice3,[am-notice3]{animation:notice3 1.5s 2}.am-notice-forever,[am-notice-forever]{animation:notice 2.5s infinite}.am-notice-t5,[am-notice-t5]{animation:notice 2.5s 5}.am-rotate,[am-rotate]{animation:rotate .9s 1}.am-look,[am-look]{animation:look .6s 1}.am-heartbeat,[am-heartbeat]{animation:heartbeat 2s infinite}.am-heartbeat-once,[am-heartbeat-once]{animation:heartbeat 2s 1}.am-heartbeat-2,[am-heartbeat-2]{animation:heartbeat 2s 2}.am-broadcast,[am-broadcast]{animation:broadcast 2s infinite}.am-broadcast-once,[am-broadcast-once]{animation:broadcast 2s 1}.am-rotate-forever-slow,[am-rotate-forever-slow]{animation:rotate 1.5s infinite}.am-rotate-forever,[am-rotate-forever]{animation:rotate .35s infinite}.am-rotate-forever2,[am-rotate-forever2]{animation:rotate .23s infinite}.am-rotate-y-forever,[am-rotate-y-forever]{animation:rotatey .23s infinite}.am-rotate-y-forever-slow,[am-rotate-y-forever-slow]{animation:rotatey 1.5s infinite}.am-rotate-y-forever-delay,[am-rotate-y-forever-delay]{animation:rotateydy 5s infinite}.am-rotate-3d-forever,[am-rotate-3d-forever]{animation:rotate3d 3.5s infinite}.am-rotate-3d,[am-rotate-3d]{animation:rotate3d 3.5s 1}.move-up{animation:moveup 2.5s 1}.move-up-end{transform:translateY(-323%)}.submit-button{border:solid .05rem #dfdfef;padding:.5rem;text-align:center;line-height:125%}
  </style>
  <style>a{outline:none;text-decoration: none;}</style>
    
    <script>"use strict";class HtmlSyntaxState{constructor(){this.STATE={CHAR:"c",TAG_ATTR_PRE:"_",TAG_ATTR:"a",TAG_START:"<",TAG_END:">",TAG_CLOSE:"/",TAG_CLOSE_END:"/>",SPACE:" ",TAG_ATTR_VALUE_START:"@",TAG_ATTR_VALUE_END:"/@",TAG_CLOSE_START:"</",TAG_ATTR_SET_VALUE:"=",TAG_ATTR_VALUE:"v",TAG_NAME:"n",TAG_CLOSE_NAME:"cn",NONE:0},this.attrType="",this.curState=this.STATE.NONE,this.cursor=0,this.lastCursor=0,this.tagStack=[],this.tagCloseStack=[],this.singleTags=["br","hr","img","input","param","meta","link"],this.lastErrorMsg="",this.curTagIndex=0,this.curTagEndIndex=0,this.data="",this.is_script=!1,this.script_reg=new RegExp("<SCRIPT>","ig"),this.script_end_reg=new RegExp("<\/SCRIPT>","ig"),this.html_comment_reg=new RegExp("\x3c!--(.|[\r\n])*?--\x3e","mg")}diffCloseTag(){let t="",e=this.curTagEndIndex;for(;" "!==this.data[e]&&e<this.cursor;)e+=1;return t=this.data.substring(this.curTagEndIndex,e).trim(),t.toLowerCase()===this.tagStack.pop()}pushTag(){let t="",e=this.curTagIndex;for(;" "!==this.data[e]&&e<this.cursor;)e+=1;t=this.data.substring(this.curTagIndex,e).toLowerCase().trim(),this.singleTags.indexOf(t)<0&&this.tagStack.push(t),"script"===t&&(this.is_script=!0)}checkSpace(t){if(this.STATE.TAG_START===this.curState||this.STATE.TAG_CLOSE===this.curState)return!1;if(" "===t)return!0;if(this.curState===this.STATE.TAG_ATTR_VALUE_END)return this.curState=this.STATE.TAG_ATTR_PRE,!0;if(this.curState===this.STATE.TAG_ATTR_VALUE)return""===this.attrType&&(this.curState=this.STATE.TAG_ATTR_PRE),!0;if(this.STATE.TAG_NAME===this.curState||this.curState===this.STATE.TAG_ATTR){if("="===t&&this.curState===this.STATE.TAG_ATTR)return!0;this.curState=this.STATE.TAG_ATTR_PRE}else if(this.STATE.NONE===this.curState)this.curState=this.STATE.CHAR;else if(">"===t)return!1;return!0}checkTagStart(t){return this.curState===this.STATE.TAG_ATTR_VALUE?""===this.attrType:this.STATE.TAG_END===this.curState||this.STATE.TAG_CLOSE_END===this.curState||this.STATE.NONE===this.curState||this.STATE.CHAR===this.curState?("/"===t?(this.curState=this.STATE.TAG_CLOSE,this.cursor+=1,this.curTagEndIndex=this.cursor+1):(this.curState=this.STATE.TAG_START,this.curTagIndex=this.cursor+1),!0):this.curState===this.STATE.TAG_ATTR_VALUE_START&&""!==this.attrType?(this.curState=this.STATE.TAG_ATTR_VALUE,!0):this.curState===this.STATE.TAG_ATTR_VALUE&&""!==this.attrType}checkTagEnd(t,e){return this.curState===this.STATE.TAG_CLOSE_NAME?(this.curState=this.STATE.TAG_CLOSE_END,!!this.diffCloseTag()):this.curState===this.STATE.TAG_NAME||this.curState===this.STATE.TAG_ATTR||this.curState===this.STATE.TAG_ATTR_PRE||this.curState===this.STATE.TAG_ATTR_VALUE&&""===this.attrType||this.curState===this.STATE.TAG_ATTR_VALUE_END?(this.curState=this.STATE.TAG_END,this.pushTag(),!0):this.curState===this.STATE.TAG_ATTR_VALUE_START&&""!==this.attrType?(this.curState=this.STATE.TAG_ATTR_VALUE,!0):this.curState===this.STATE.TAG_ATTR_VALUE&&""!==this.attrType}checkAttrQuote(t,e){return this.curState===this.STATE.NONE||this.curState===this.STATE.CHAR||this.curState===this.STATE.TAG_CLOSE_END||this.curState===this.STATE.TAG_END?(this.curState=this.STATE.CHAR,!0):this.curState===this.STATE.TAG_ATTR_SET_VALUE?(this.attrType=t,this.curState=this.STATE.TAG_ATTR_VALUE_START,!0):this.curState!==this.STATE.TAG_ATTR_VALUE_END&&((this.curState===this.STATE.TAG_ATTR_VALUE||this.curState===this.STATE.TAG_ATTR_VALUE_START)&&(t!==this.attrType?this.curState===this.STATE.TAG_ATTR_VALUE_START?"\n"!==e&&(this.curState=this.STATE.TAG_ATTR_VALUE,!0):"\n"!==e:(this.curState=this.STATE.TAG_ATTR_VALUE_END,!0)))}checkAttrSetValue(t){return this.curState===this.STATE.NONE||this.STATE.CHAR===this.curState||this.curState===this.STATE.TAG_END||this.curState===this.STATE.TAG_CLOSE_END?(this.curState=this.STATE.CHAR,!0):this.STATE.TAG_ATTR===this.curState?(this.curState=this.STATE.TAG_ATTR_SET_VALUE,!0):this.curState===this.STATE.TAG_ATTR_VALUE_START?(this.curState=this.STATE.TAG_ATTR_VALUE,!0):this.curState===this.STATE.TAG_ATTR_VALUE}checkChar(t,e){return"\n"===e&&this.curState===this.STATE.TAG_NAME?(this.curState=this.STATE.TAG_ATTR_PRE,!0):"/"===t&&e&&">"===e&&(""===this.attrType&&this.curState===this.STATE.TAG_ATTR_VALUE||this.STATE.TAG_NAME===this.curState||this.STATE.TAG_ATTR===this.curState||this.STATE.TAG_ATTR_PRE===this.curState||this.STATE.TAG_ATTR_VALUE_END===this.curState)?(this.cursor+=1,this.curState=this.STATE.TAG_CLOSE_END,!0):this.curState===this.STATE.TAG_ATTR_PRE?(this.curState=this.STATE.TAG_ATTR,!0):this.curState===this.STATE.TAG_ATTR_SET_VALUE?("\\"===t&&this.cursor++,this.attrType="",this.curState=this.STATE.TAG_ATTR_VALUE,!0):"\\"===t&&this.curState===this.STATE.TAG_ATTR_VALUE?(this.cursor++,!0):this.curState===this.STATE.NONE?(this.curState=this.STATE.CHAR,!0):this.curState===this.STATE.TAG_ATTR_VALUE_START?("\\"===t&&this.cursor++,this.curState=this.STATE.TAG_ATTR_VALUE,!0):this.curState===this.STATE.TAG_START?(this.curState=this.STATE.TAG_NAME,!0):this.curState!==this.STATE.TAG_CLOSE||(this.curState=this.STATE.TAG_CLOSE_NAME,!0)}checkState(t,e){if(this.is_script){let t=this.data.indexOf("<\/script>",this.cursor);return!(t<0)&&(this.cursor=t-1,this.is_script=!1,!0)}switch(t){case"<":return this.checkTagStart(e);case">":return this.checkTagEnd(t,e);case'"':case"'":return this.checkAttrQuote(t,e);case" ":return this.checkSpace(e);case"=":return this.checkAttrSetValue(e);default:return this.checkChar(t,e)}}diffStack(){return this.tagStack.length===this.tagCloseStack.length}init(){this.curState=this.STATE.NONE,this.attrType="",this.curTagIndex=this.curTagEndIndex=0,this.tagStack=[],this.tagCloseStack=[],this.is_script=!1,this.data="",this.cursor=0,this.lastCursor=0}parse(t){if(this.init(),!("string"==typeof t||t instanceof String))return!0;if(t.indexOf("<!doctype html>")>=0)return this.lastErrorMsg="渲染数据不可出现&lt;!doctype html&gt;声明",!1;if(this.data=t.replace(this.script_reg,"<script>").replace(this.script_end_reg,"<\/script>").replace(this.html_comment_reg,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),0===this.data.length)return!0;if(1===this.data.length)return"<"!==this.data[0]&&">"!==this.data[0]||(this.lastErrorMsg="标签符号 < 或 > 需要转义",!1);this.cursor=0;let e,r=this.data.length,i=this.data.length-1;for(;this.cursor<r;){if(e=this.cursor<i?this.checkState(this.data[this.cursor],this.data[this.cursor+1]):this.checkState(this.data[this.cursor],""),this.curState===this.STATE.TAG_START&&(this.lastCursor=this.cursor),!e){let t=this.data.substring(this.lastCursor,this.cursor+10);return this.lastErrorMsg=`${this.lastCursor} ~ ${this.cursor}, 错误的语法：<p style="color:#df6878;">...${t.replaceAll("<","&lt;").replaceAll(">","&gt;")}...</p>`,console.error(this.data),!1}this.cursor++}if(this.curState!==this.STATE.CHAR&&this.curState!==this.STATE.TAG_END&&this.curState!==this.STATE.TAG_CLOSE_END){let t=this.data.substring(this.lastCursor,this.cursor+1);return this.lastErrorMsg=`标签结束状态错误，请检查模板字符串的语法格式，以及属性的闭合引号。<br>...${t.replaceAll("<","&lt;").replaceAll(">","&gt;")}...`,!1}return!!this.diffStack()||(this.lastErrorMsg=`模板标签包含嵌套不一致：&lt;${this.tagStack.join("&gt;...&lt;")}&gt;...`,!1)}}const w=new function(){if(Object.defineProperty(this,"notifylog",{value:{bottom:{count:0,dmap:Object.create(null)},top:{count:0,dmap:Object.create(null)}},enumerable:!0,configurable:!1,writable:!1}),Object.defineProperty(this,"config",{value:{},writable:!1,enumerable:!0,configurable:!1}),this.config.notFound="",this.host="",this.prepath="",this.homepage=null,this.__title__="",this.curTitle="",this.checkhtml=!0,this.errorList=[],Object.defineProperty(this,"title",{set:t=>{null===t||""===t||void 0===t?(document.getElementById("app-title").innerHTML=this.__title__,this.curTitle=this.__title__):(document.getElementById("app-title").innerHTML=t,this.curTitle=t)},get:()=>this.curTitle}),Object.defineProperty(this,"randid",{value:(t="")=>`${t}${Date.now().toString(16)}.${Math.random().toString(16).substring(2)}`,writable:!1}),this.attachTitle=t=>{this.title=`${this.__title__}${t}`},this.resetTitle=()=>{this.title=this.__title__},this.ua=navigator.userAgent,this.isFirefox=!1,navigator.userAgentData){let t=navigator.userAgentData.brands;this.isFirefox=Array.isArray(t)&&t[0]&&t[0].brand.indexOf("Firefox")>=0}else navigator.userAgent.indexOf("Firefox")>0&&(this.isFirefox=!0);Object.defineProperty(this,"alertStack",{enumerable:!1,configurable:!1,writable:!1,value:{max:28,zindex:105,dmap:{},closemap:{},count:0,coverCount:0,maxZIndex:9999,curZIndex:105}}),this.alertStyles=["left","right","bottom","transform","color","background","boxShadow","border-radius","border-top-left-radius","border-top-right-radius","border-bottom-left-radius","border-bottom-right-radius"],this.alert=function(t,e={}){(!this.alertStack.max||"number"!=typeof this.alertStack.max||this.alertStack.max>49||this.alertStack.max<1)&&(this.alertStack.max=10),e&&"object"==typeof e||(e={});let r="alertdom",i="alertcoverdom",o=this.alertStack;if(w.alertLock)return!1;let n=!0;if(w.checkhtml&&(n=w._htmlcheck(t)),!n)return w.notifyTopError(w._htmlcheck.lastErrorMsg,1e4),!1;if(Object.keys(o.dmap).length>=o.max){if(!e.onmax||"function"!=typeof e.onmax)return w.debug&&console.error("alert弹框超出最大限制"),!1;try{e.onmax()}catch(t){w.debug&&console.error(t)}if(Object.keys(o.dmap).length>=o.max)return!1}t=e.context&&e.context.tagName?w.replaceSrc(t,!0,e.context.tagName.toLowerCase()):w.replaceSrc(t);let a=Object.keys(o.dmap).length,s=document.createElement("div");s.className="w-global-alert-info",e.transparent&&(s.className+=" w-global-alert-trans"),s.style.zIndex=o.curZIndex;let l=parseInt(10+.07*a);if(s.style.top=`${l}%`,e.autoOffset&&a>1){let t=parseInt((this.alertStack.max-1)/2*Math.random()+3),e=1.25,r=parseInt(49+a%t*e);a>=t&&(r=parseInt(49+a*e-a)),l=parseInt(10+a%t*e),a>=t&&(l=parseInt(10+a*e-a)),s.style.transform=`translateX(-${r}%)`,s.style.top=`${l}%`,s.style.boxShadow="2px 2px 2px #e0e0e0"}w.alertStyles.forEach((t=>{e[t]&&(s.style[t]=e[t])})),o.curZIndex<=o.maxZIndex&&o.curZIndex++;let c=w.randid("a_");o.dmap[c]=s,o.count++;let u=0;if(e.width&&"number"==typeof e.width&&e.width>1&&e.width<=100&&(u=e.width),u&&u>0&&(s.style.width=`${u}%`),!e.notClose){let t=document.createElement("div");o.closemap[c]=t,t.className="w-global-alert-info-close",t.style.position="fixed",t.style.transform="translateX(-50%)",t.style.left="50%",s.style.transform&&(t.style.transform=s.style.transform),s.style.left&&(t.style.left=s.style.left),u&&u>0&&(t.style.width=`${u}%`),t.style.boxShadow=s.style.boxShadow,t.style.bottom=100-l-.09+"%",t.style.zIndex=s.style.zIndex,t.style.background=e.closeBackground||e.background||"var(--w-alert-close-bg-color, #f5f6f7)",e.closeBorderBottom&&(t.style.borderBottom=e.closeBorderBottom),t.innerHTML=`<div style="text-align:right;padding:0.085%;"><a data-onclick="w.cancelAlert" data-aid="${c}" style="color:#989595;font-size:111%;text-decoration:none;user-select:none;" click>&nbsp;X&nbsp;</a></div>`,w[r].appendChild(t),w.initPageDomEvents(e.context||w.curpage,t,!1)}return"object"==typeof t&&t.innerHTML?s.innerHTML=t.innerHTML:s.innerHTML=t,w.initPageDomEvents(e.context||w.curpage,s),w[r].appendChild(s),e.withCover&&w[i]&&(o.coverCount++,w[i].className="w-alert-cover-page",e.coverGlass&&(w[i].className+=" w-alert-cover-glass")),c},this.cancelAlert=function(t){if(!t&&!(t=this.getLastAlert()))return!1;let e="string"==typeof t?t:t.target.dataset.aid||this.getLastAlert();if(!e)return!1;let r=this.alertStack.dmap[e];if(!r)return w.debug&&console.error(e,"not found"),!1;let i=r.style.zIndex;this.alertStack.curZIndex-1===i&&this.alertStack.curZIndex--;let o=this.alertStack.closemap[e];return o&&o.remove(),r.remove(),delete this.alertStack.dmap[e],delete this.alertStack.closemap[e],this.alertStack.count--,0===Object.keys(this.alertStack.dmap).length&&(w.alertcoverdom.className="",w.alertcoverdom.innerHTML="",this.alertStack.coverCount=0,this.alertStack.curZIndex=this.alertStack.zindex),!0},this.alertDark=function(t,e=null){return e&&"object"==typeof e||(e={}),e.background||(e.background="#4f4f4f"),e.closeBackground||(e.closeBackground="#4a4a4a"),e.color||(e.color="#f0f0f1"),e.boxShadow||(e.boxShadow="2px 2px 3px #828282"),this.alert(t,e)},this.coverDark=function(t,e=null){return e&&"object"==typeof e||(e={}),e.withCover=!0,e.notClose=!0,this.alertDark(t,e)},this.unalert=this.cancelAlert,this.cover=function(t,e=null){return e&&"object"==typeof e||(e={}),e.withCover=!0,e.notClose=!0,this.alert(t,e)},this.getLastAlert=function(){let t=Object.keys(this.alertStack.dmap);return 0!==t.length&&t.pop()},this.uncover=function(t="last"){return"last"!==t&&t||(t=this.getLastAlert()),!!t&&(this.cancelAlert(t),this.alertStack.coverCount>0?this.alertStack.coverCount--:(this.alertStack.coverCount=0,w.alertcoverdom.className="",w.alertcoverdom.innerHTML=""),!0)},this.alertError=function(t,e=0){t=`<span style="color:#e73949;">${t}</span>`;let r=w.alert(t);e>0&&setTimeout((()=>{w.cancelAlert(r)}),e)},this.notifyError=function(t,e=5e3){return"object"==typeof e?(e.ntype="error",w.notify(t,e)):w.notify(t,{timeout:e,ntype:"error"})},this.notifyTop=function(t,e=3500){return"object"==typeof e?(e.ntype="top",w.notify(t,e)):w.notify(t,{timeout:e,ntype:"top"})},this.notifyTopError=function(t,e=5e3){return"object"==typeof e?(e.ntype="top-error",w.notify(t,e)):w.notify(t,{timeout:e,ntype:"top-error"})},this.notifyOnly=function(t,e=3500){return"object"==typeof e?(e.ntype="only",w.notify(t,e)):w.notify(t,{timeout:e,ntype:"only"})},this.notifyStyles=["boxShadow","margin","marginBottom","border","borderBottom","borderLeft","borderRight","borderTop","background","color","fontSize","padding","paddingLeft","paddingRight","paddingTop","paddingBottom"],this.notify=function(t,e={}){e||(e={}),"number"==typeof e&&(e={timeout:e});let r=e.timeout&&!isNaN(e.timeout)&&e.timeout>0?e.timeout:3500,i=!0;if(w.checkhtml&&(i=w._htmlcheck(t)),!i)return!1;let o=e.ntype||"notify",n="bottom",a="notifydom",s="w-notify-bottom";o.indexOf("top")>=0&&(a="notifytopdom",s="w-notify-top",n="top");let l=this.notifylog[n];t=w.replaceSrc(t),o.indexOf("error")>=0&&(t=`<span style="color:#f96567;font-size:95%;">${t}</span>`);let c="#e5e5e9";if(o.indexOf("light")>=0&&(s+=" w-notify-light",c="#4a4a4a"),o.indexOf("only")>=0)for(let t in l.dmap)w.cancelNotify(t);if(l.count>111)return w.debug&&console.error("超出消息通知最大限制：111。"),!1;let u=document.createElement("div"),h=w.randid(n[0]+"_");u.style.boxSizing="border-box",u.style.lineHeight="1.5",this.notifyStyles.forEach((t=>{("borderBottom"===t||"marginBottom"===t)&&l.count<=0||e[t]&&(u.style[t]=e[t])})),l.count>0&&(e.marginBottom||(u.style.marginBottom="1.5rem")),o.indexOf("noclose")<0?(u.style.display="flex",u.style.flexFlow="row wrap",u.innerHTML=`<div style="width:95%;">${t}</div>\n        <div data-onclick="w.cancelNotify" data-nid="${h}" style="display: grid;place-items: center;color:#df4567;cursor:pointer;user-select:none;">X</div>`):u.innerHTML=t,l.dmap[h]={nid:h,dom:u,position:n,timer:setTimeout((()=>{w.cancelNotify(h,!1)}),r)},l.count++;let p=w[a];return p.insertBefore(u,p.firstChild||null),p.className=`w-global-notify-box ${s} w-global-notify-info`,w.initPageDomEvents(e.context||w.curpage,u),h},this.cancelNotify=function(t,e=!0){if(!t)return!1;let r,i,o="string"==typeof t?t:t.target.dataset.nid;if(!o)return!1;"b"===o[0]?(r=w.notifylog.bottom,i=w.notifydom):(r=w.notifylog.top,i=w.notifytopdom);let n=r.dmap[o];return!!n&&(r.count--,n.dom.remove(),delete r.dmap[o],r.count<=0&&(i.className="",i.innerHTML="",r.count=0),e&&n.timer&&clearTimeout(n.timer),!0)},this.unnotify=function(){w.notifylog.bottom.dmap={},w.notifylog.top.dmap={},w.notifylog.bottom.count=0,w.notifylog.top.count=0,w.notifydom.className="",w.notifydom.innerHTML="",w.notifytopdom.className="",w.notifytopdom.innerHTML=""},this.promptMiddle=function(t,e={}){e.wh="middle",w.prompt(t,e)},this.promptMiddleGlass=function(t,e={}){e.wh="middle",e.glass="glass",this.promptGlass(t,e)},this.promptGlass=function(t,e={}){e.glass="glass",this.prompt(t,e)},this.promptDark=function(t,e={}){e.glass="dark",this.prompt(t,e)},this.promptMiddleDark=function(t,e={}){e.wh="middle",e.glass="dark",this.promptDark(t,e)},this.promptTop=function(t,e={}){e.wh="top",this.prompt(t,e)},this.promptTopGlass=function(t,e={}){e.wh="top",e.glass="glass",this.prompt(t,e)},this.promptTopDark=function(t,e={}){e.wh="top",e.glass="dark",this.prompt(t,e)},this.prompt=function(t,e={}){e&&"object"==typeof e||(e={});let r=e.wh||"bottom",i=e.noclose||!1,o=e.glass||!1;if(!w._htmlcheck(t))return!1;let n="promptdom",a="promptclosedom";if("bottom"!==r&&(n="promptmiddledom",a="promptmiddleclosedom"),!w[n])return!1;w[n].className=`w-prompt-box w-prompt-${r} w-prompt-display`;let s="#424242";return!0===o||"glass"===o?w[n].className+=" w-prompt-glass":"dark"===o&&(w[n].className+=" w-prompt-dark",s="#efefef"),e.color&&(s=e.color),t=e.target&&e.target.tagName?w.replaceSrc(t,!0,e.target.tagName.toLowerCase()):w.replaceSrc(t),i?w[n].innerHTML=`<p style="color:${s};">${t}</p>`:(w[a].className="w-prompt-close",!0!==o&&"glass"!==o||(w[a].className+=" w-prompt-close-glass"),"bottom"!==r?(w[a].style.zIndex=102,w[a].onclick=t=>{w.unprompt(!1)}):(w[a].style.zIndex=100,w[a].onclick=t=>{w.unprompt()}),w[n].innerHTML=`<div style="overflow:auto;word-wrap:break-word;color:${s}">${t}</div>`),w.initPageDomEvents(e.target||w.curpage,w[n],!1),e.unpromptHandle&&"function"==typeof e.unpromptHandle&&(w[a].__unprompt_handle__=e.unpromptHandle),e.callback&&"function"==typeof e.callback&&queueMicrotask((()=>{try{e.callback(w[n])}catch(t){w.debug&&console.error(t)}})),w[n]},this.promptBlock=function(t,e={}){return!!w._htmlcheck(t)&&(w.promptdom&&(w.promptdom.className="w-prompt-box w-prompt-block",w.promptdom.innerHTML=`<div style="color:#4a4a4f;padding:0.8rem;margin-top:5%;">${t}</div>`),w.initPageDomEvents(e.target||w.curpage,w.promptdom,!1),w.promptdom)},this.unprompt=async function(t=!0){let e=t?"promptdom":"promptmiddledom",r=t?"promptclosedom":"promptmiddleclosedom";if(w[r].__unprompt_handle__){try{if(!await w[r].__unprompt_handle__())return!1}catch(t){w.debug&&console.error(t)}w[r].__unprompt_handle__=null}if(!t){let t="";t=w[e].className.indexOf("prompt-middle")>0?" m-w-prompt-middle":" m-w-prompt-top",w[e].className+=t}setTimeout((()=>{w[e]&&(w[e].className="",w[e].innerHTML=""),w[r]&&(w[r].className="",w[r].innerHTML="",w[r].style.zIndex=0)}),157)},this.unpromptMiddle=function(){return this.unprompt(!1)},this.unpromptTop=this.unpromptMiddle,this.parseHashUrl=function(t){let e={query:{},path:"",orgpath:""};t.length>0&&"#"==t[0]&&(t=t.substring(1)),e.orgpath=t;let r=t.split("?");e.path=r[0];let i="";if(r.length>1&&(i=r[1]),i){let t=i.split("&"),r=[];for(let i=0;i<t.length;i++)r=t[i].split("="),r.length<1&&r.push(""),e.query[r[0]]=r[1]}return e},this.firstListenHash=!0,this.listenHashLock=!1,this.historyList=["#"],this.historyLength=history.length,this.pageShowType="",this.pageShowTypeLock=!1,this.listenHash=async function(t=""){if(!0===this.listenHashLock)return!1;this.pageShowTypeLock||(this.pageShowType=t),this.pageShowTypeLock=!1;try{this.listenHashLock=!0;let t=location.hash,e=this.parseHashUrl(t);if(w.tabs.pages.indexOf(e.path)>=0)return this.listenHashLock=!1,this.firstListenHash?void(location.hash=""):void 0;if(this.firstListenHash=!1,""==e.path&&w.tabs.list.length>0){this.listenHashLock=!1;let t=w.tabs.cur;return w.tabs.cur="",w.switchTab(t||w.tabs.pages[0])}await this.loadPage(e),this.listenHashLock=!1}catch(t){this.listenHashLock=!1}finally{this.listenHashLock=!1}return!0},this.pageNameList=[],Object.defineProperty(this,"pages",{value:Object.create(null),enumerable:!0,configurable:!1,writable:!1}),this.curpage=null,this.curpagename=null,this.storage=new function(){this.length=0,this.set=function(t,e){try{let r;switch(typeof e){case"number":r=`${e}`;break;case"object":r=JSON.stringify(e);break;case"function":r="function";break;case"string":r=e;break;default:r=e.toString()}return localStorage.setItem(t,r),this.length+=r.length,!0}catch(t){return!1}},this.get=function(t,e=!1){let r=localStorage.getItem(t);if(null===r)return null;try{return e?JSON.parse(r):r}catch(t){return null}},this.remove=function(t){let e=localStorage.getItem(t);null!==e&&(localStorage.removeItem(t),this.length-=e.length)},this.delete=this.remove,this.clear=function(){localStorage.clear(),this.length=0},this.getPre=function(t,e=null){let r,i=localStorage.length,o=[];for(let n=0;n<i;n++)r=localStorage.key(n),0===r.indexOf(t)&&(e&&e.justKeys?o.push(r):o.push({key:r,data:this.jget(r)}));return o},this.removePre=function(t,e=null){let r=this.getPre(t);for(let t of r)e&&"function"==typeof e?e(t)&&this.remove(t.key):this.remove(t.key)},this.jget=function(t){return this.get(t,!0)}},this.initFlag=!1,this.initOnePage=function(t,e=null){let r=this.pages[t];if(r||(r=this.pages[t]=e||{}),r.__state__)return!1;r.__dom__=this.pgcdom.appendChild(document.createElement("div")),r.__dom__.dataset.container="__wight_page__",r.__init_count__=0,r.__loaded__=!1,r.__scroll__=0,r.__bottom_time__=0,r.__page_key__=t,Object.defineProperty(r,"__name__",{enumerable:!1,configurable:!1,writable:!1,value:t}),r.__init__=!1,r.__dom__.onscroll=w.events.scroll,r.__state__=!0,r.__tabs_place__="",w.tabs.list.length>0&&(r.__tabs_place__='<div style="height:4.2rem;">&nbsp;</div>',w.tabs.pages.indexOf(t)>=0&&(r.__dom__.style.cssText="z-index:1;")),r.view=function(e,r=null){if("string"==typeof e){let i={};i[e]=r,w.view(t,i)}else w.view(t,e);return this},r.resetView=function(e){return w.resetView(t,e)},r.setScroll=function(e){e<0?w.pages[t].__dom__.scrollTop+=e:w.pages[t].__dom__.scrollTop=e},r.destroy=function(){w.destroyPage(w.pages[t])},r.query=function(e,r=null){let i=w.pages[t].__dom__.querySelector(e);return i?(r&&"function"==typeof r&&r(i),i):null},r.queryAll=function(e,r=null){let i=w.pages[t].__dom__.querySelectorAll(e);return r&&"function"==typeof r&&i.forEach(r),i},r.bindEvent=function(t,e=!0){w.initPageDomEvents(r,t,e)},r.setAttr=function(e){w.setAttr(t,e)},r.setStyle=function(e){let r;for(let i in e)r={},r[i]={style:e[i]},w.setAttr(t,r)},r.alert=function(t,e=null){return e&&"object"==typeof e||(e={}),e.context=this,w.alert(t,e)},r.alertDark=function(t,e={}){return e&&"object"==typeof e||(e={}),e.context=this,w.alertDark(t,e)},r.cover=function(t,e=null){return e&&"object"==typeof e||(e={}),e.notClose=!0,e.withCover=!0,r.alert(t,e)},r.uncover=function(t="last"){w.uncover(t)},r.coverDark=function(t,e=null){return e&&"object"==typeof e||(e={}),e.notClose=!0,e.withCover=!0,r.alertDark(t,e)},r.prompt=function(t,e={}){return e&&"object"==typeof e||(e={}),e.target=this,w.prompt(t,e)},r.unprompt=function(t=!0){w.unprompt(t)},r.unpromptMiddle=function(){w.unprompt(!1)},r.promptTop=function(t,e={}){e.wh="top",this.prompt(t,e)},r.promptMiddle=function(t,e={}){return e.target=this,w.promptMiddle(t,e)},r.promptDark=function(t,e={}){return e.target=this,w.promptDark(t,e)},r.promptMiddleDark=function(t,e={}){return e.target=this,w.promptMiddleDark(t,e)},r.promptTopDark=function(t,e={}){return e.target=this,w.promptTopDark(t,e)}},this.initPage=function(){for(let t in this.pages)this.initOnePage(t);this.initFlag=!0},this.destroyAllPage=function(){for(let t in w.pages)this.destroyPage(w.pages[t])},this.destroyPage=function(t=null){if(null!==t||null!==(t=this.curpage)){if(t.onunload&&"function"==typeof t.onunload)try{t.onunload()}catch(e){w.notifyError(`Page：${t.__name__} 执行onunload失败：<p>${e.message}</p>`,1e4)}t.__dom__.innerHTML="",t.__dom__.className="w-hide-cur-page",t.__init__=!1,t.__loaded__=!1,t.__bottom_time__=0}},this.stopPage=function(t=null){null===t&&null===(t=this.curpage)||(t.__dom__.className="w-hide-cur-page")},this.unStopPage=function(t=null){null===t&&null===(t=this.curpage)||(t.__dom__.className="w-current-page-display")},this.hidePage=function(t=null){if(t||(t=w.curpage),null!==t&&("back"===w.pageShowType?t.__dom__.className="w-hide-cur-page w-hide-cur-page-back":t.__dom__.className="w-hide-cur-page",t.onhide&&"function"==typeof t.onhide))try{t.onhide()}catch(t){console.error(t)}},this.showPage=function(t){w.pageShowType&&"#"!==location.hash&&w.curpagename!==w.homepage&&""!==location.hash?"forward"===w.pageShowType?t.__dom__.className="w-current-page-display w-current-page-display-forward":"back"===w.pageShowType&&(t.__dom__.className="w-current-page-display w-current-page-display-back"):t.__dom__.className="w-current-page-display"},this.hideAll=function(){for(let t in this.pages)this.pages[t].__dom__.className="w-hide-cur-page"},this.context=function(){return{path:"",model:{},request:w.request,dom:null,url:{}}}};w._htmlparse=new HtmlSyntaxState,w._htmlcheck=function(t){return!!w._htmlparse.parse(t)||(w.notify(w._htmlparse.lastErrorMsg,{tmout:1e4,ntype:"top-error"}),!1)},w.setCoverText=(t="",e="")=>{w.alertcoverdom.innerHTML=t,w.alertcoverdom.style.cssText=e},w.sliderPageLeft=function(t=null,e=!0,r=null){return w.sliderPage(t,e,r,"left")},w.sliderPage=function(t=null,e=!0,r=null,i="right"){if(w.slidedom){let o="w-common-slide-public",n="w-common-slide-close-public";if("left"===i?(o+=" w-common-slide-left",n+=" w-common-slide-left-close"):(o+=" w-common-slide-right",n+=" w-common-slide-right-close"),w.slidedom.className=o,w.slidexdom.className=n,w.slidexdom.onclick=w.hideSlider,null===t)return w.slidedom;let a=typeof t;if(null!==t){if("string"===a){let e=!0;w.checkhtml&&(e=w._htmlcheck(t)),e&&(w.slidedom.innerHTML=t)}else"object"===a?e?(w.slidedom.innerHTML="",w.slidedom.appendChild(t)):w.slidedom.innerHTML=t.innerHTML:"number"!==a&&"boolean"!==a||(w.slidedom.innerHTML=t.toString());w.initPageDomEvents(r||w.curpage,w.slidedom,!1)}}return w.slidedom},w.lockSliderText=!1,w.hideSlider=function(t=!0){w.slidedom&&(w.slidedom.className+=" m-w-common-slide-right",w.slidexdom.className+=" m-w-common-slide-right-close",setTimeout((()=>{w.slidedom.className="",w.slidexdom.className="",!w.lockSliderText&&t&&(w.slidedom.innerHTML="")}),157))},w.scrollTop=function(t="smooth"){w.scroll({top:0,behavior:t})},w.scroll=function(t,e){w.curpage&&w.curpage.__dom__&&w.curpage.__dom__.scroll(t,e)},w.loadPageLock=!1,w.handleNotFound=function(){if(w.config.notFound&&"string"!=typeof w.config.notFound){if("function"==typeof w.config.notFound)w.config.notFound();else if("object"==typeof w.config.notFound){let t=w.config.notFound;t.redirect&&w.pages[t.redirect]?w.redirect(t.redirect):this.alert("<div>404: 没有此页面</div>")}}else{let t=`<div style="font-size:125%;font-weight:bold;">404: 没有此页面</div><p>${location.hash} 页面不存在！！</p><p style="text-align:center;"><a href="javascript:unalert();w.redirect('#');">回到首页</a></p>`;this.alert(w.config.notFound||t)}},w.going=null,w.routeInfo=function(){return w.curpage&&w.curpage.__ctx__||null},w.loadPage=async function(t){if(w.loadPageLock)return!1;w.loadPageLock=!0;let e=t.path;""!=e&&"/"!=e||(e=this.homepage);let r=w.pageNameList.indexOf(e);if(void 0===this.pages[e]&&r>=0){alert("正在等待页面初始化···",{notClose:!0});for(let t=0;t<222&&(await new Promise((t=>{setTimeout(t,5)})),!this.pages[e]||!this.pages[e].__state__);t++);setTimeout((()=>{w.unalert()}),111),void 0===this.pages[e]&&(w.notify("等待页面超时！",{ntype:"top error noclose"}),await new Promise((t=>{setTimeout(t,1101)})))}if(void 0===this.pages[e])return w.loadPageLock=!1,this.handleNotFound(),!1;let i=this.pages[e],o=this.context();if(o.path=e,o.query=t.query,o.orgpath=t.orgpath,o.goTop=function(){i.__scroll__=0,o.dom.scrollTop=0},o.dom=i.__dom__,o.loaded=i.__loaded__,o.name=i.__name__,this.going=i.__name__,i.__ctx__=o,!1===await w.runHooks(o))return w.loadPageLock=!1,!1;let n=this.curpage;if(this.curpage=i,this.curpagename=i.__name__,this.hidePage(n),this.showPage(i),w.loadPageLock=!1,!1===i.__init__){if(!w._htmlcheck(i.orgHTML))return w.notifyTopError(`页面初始化错误：${i.__name__}.html`,15e3),!1;i.__init__=!0,i.__dom__.innerHTML=`${i.orgHTML}${i.__tabs_place__}`,w.initPageDomEvents(i,i.__dom__)}if(w.listenHashLock=!1,i.onload&&"function"==typeof i.onload&&!1===i.__loaded__){i.__loaded__=!0;try{await i.onload(o)}catch(t){w.notify(t.message)}}if(i.onshow&&"function"==typeof i.onshow)try{await i.onshow(o)}catch(t){w.notify(t.message)}i.__dom__.scrollTop=i.__scroll__},w.reload=function(t=!0){let e=w.curpage;if(w.destroyPage(e),!e||t)return w.listenHash();let r=w.parseHashUrl(e.__name__);w.loadPage(r)},w.qs=function(t){let e=[];for(let r in t)e.push(`${r}=${encodeURIComponent(t[r])}`);return e.join("&")},w.go=async function(t,e={},r="forward"){"string"==typeof e&&(r=e,e={}),this.pageShowTypeLock=!0,w.pageShowType=r;let i=w.qs(e);if(w.listenHashLock)for(let t=0;t<500&&(await new Promise((t=>{setTimeout(t,5)})),w.listenHashLock);t++);location.hash=`${t}${i.length>0?"?":""}${i}`},w.goBack=function(){return window.history.length>1&&(window.history.back(),!0)},w.redirectBack=function(t=1){for(let t=w.historyList.length-1;t>=0;t--){let e=w.historyList[t];if(0!==e.indexOf("#")||"#"===e||w.pages[e.substring(1)]){for(let e=w.historyList.length-1;e>t;e--)w.historyList.pop();break}}if(w.historyList.length<t)return!1;let e=w.historyList[w.historyList.length-t];if(!e)return!1;w.redirect(e)},w.redirect=function(t,e={}){this.pageShowTypeLock=!0,w.pageShowType="forward","#"!==t[0]&&(t=`#${t}`);let r=w.qs(e.query||{}),i=async()=>{if(history.replaceState({id:t},"",`${t}${r.length>0?"?":""}${r}`),e.noticeInfo&&w.notify(e.noticeInfo,{ntype:"top noclose",timeout:5e3}),w.listenHashLock)for(let t=0;t<500&&(await new Promise((t=>{setTimeout(t,5)})),w.listenHashLock);t++);e.noticeInfo&&(e.noticeTimeout&&"number"==typeof e.noticeTimeout?setTimeout((()=>{w.unnotify()}),e.noticeTimeout):w.unnotify()),w.listenHash()};if(e.delay&&"number"==typeof e.delay)return setTimeout(i,e.delay);i()},w.setAttr=function(t,e){if(void 0===this.pages[t])return;if("object"!=typeof e)return;let r,i,o,n=this.pages[t].__dom__;for(let t in e){r=`[data-name=${t}]`,"&"===t[0]?r=t.substring(1):([":",".","#"].indexOf(t[0])>=0||t.indexOf("[")>=0)&&(r=t),i=n.querySelectorAll(r),o=e[t];for(let t of i)for(let e in o)switch(e){case"class":case"className":t.className=o[e];break;case"style":if("string"==typeof o[e])t.style.cssText=o[e];else if("object"==typeof o[e])for(let r in o[e])t.style[r]=o[e][r];break;default:t[e]=o[e]}}},w.errorHandle=null,w.__cacheError=function(t){if(w.errorList.length>500)for(let t=0;t<100;t++)w.errorList.shift();if(w.errorList.push(t),w.errorHandle&&"function"==typeof w.errorHandle)try{w.errorHandle(w.errorList)}catch(t){w.notifyError(`errorHandle:<p>${t.message}</p>`,5e3)}},w.view=function(t,e){if(void 0===this.pages[t])return;if("object"!=typeof e)return;let r=this.pages[t],i=r.__dom__,o="",n="";for(let a in e)if(o=`[data-name=${a}]`,"&"===a[0]?o=a.substring(1):([":",".","#"].indexOf(a[0])>=0||a.indexOf("[")>=0)&&(o=a),n=i.querySelectorAll(o),null!==e[a])try{w._setData(t,r,n,e[a])}catch(t){w.debug?(w.notifyError(t.message,3500),console.error(t)):w.__cacheError(t)}else w._resetData(t,r,n)},w.resetView=function(t,e){Array.isArray(e)||(e=[e]);let r={};for(let t of e)t&&"string"==typeof t&&(r[t]=null);w.view(t,r)},w._resetData=function(t,e,r){let i="";for(let t of r)i=t.tagName.toLowerCase(),"img"!==i?"input"===i&&["checkbox","radio"].indexOf(t.type)>=0?t.checked=!1:void 0!==t.value?"select"!==i&&(t.value=""):t.innerHTML="":t.src=""},w.replaceSrc=function(t,e=!1,r=""){if(!t||"string"!=typeof t)return t;let i=t=>{let i=t.split(" src="),o=i[1][0],n=1,a=i[1].indexOf(o,1);'"'!==o&&"'"!==o&&(o="",n=0,a=i[1].indexOf(" ",1),a<0&&(a=i[1].length-1));let s=i[1].substring(n,a);return e&&(s=s.replace("./static","/static/components/"+r)),`${i[0]} src=${o}${(t=>{if(/^http[s]?:\/\//.test(t))return t;let e=t.trim();return"/static"!==w.prepath&&0===e.indexOf(w.prepath)||"/static"===w.prepath&&0===e.indexOf("/static/static")?e:w.prepath&&0===e.indexOf("/static")?`${w.prepath}/${e}`.replace(/\/{2,}/gi,"/"):e})(s)}${i[1].substring(a)}`},o=t=>t.replace(/ src\s+=\s+/g," src=");return t=(t=(t=(t=t.replace(/<(audio|embed|iframe|img|input|source|track|video|script)[^>]* src\s+=\s+"[^"]+"[^>]*>/gi,o)).replace(/<(audio|embed|iframe|img|input|source|track|video|script)[^>]* src\s+=\s+'[^']+'[^>]*>/gi,o)).replace(/<(audio|embed|iframe|img|input|source|track|video|script)[^>]* src="[^"]+"[^>]*>/gi,i)).replace(/<(audio|embed|iframe|img|input|source|track|video|script)[^>]* src='[^']+'[^>]*>/gi,i),w.__replace_src_regex__&&w.__replace_src_regex__ instanceof RegExp&&(t=t.replace(w.__replace_src_regex__,i)),t},w._setData=function(t,e,r,i){let o="",n=null!==i?typeof i:"null",a="";for(let s=0;s<r.length;s++){if(r[s].dataset.map&&"function"==typeof e[r[s].dataset.map])o=e[r[s].dataset.map]({data:i,target:r[s],type:"map",dataType:n})||"";else if(e.display&&"object"==typeof e.display&&r[s].dataset.name&&e.display[r[s].dataset.name]){let t,a=e.display[r[s].dataset.name],l=!0;if("function"==typeof a?t=a:"object"==typeof a&&(t=a.cb&&"function"==typeof a.cb?a.cb:a.callback&&"function"==typeof a.callback?a.callback:null,a.dataType&&("array"===a.dataType&&Array.isArray(i)||a.dataType.indexOf(n)>=0||(l=!1)),a.dataLimit&&"function"==typeof a.dataLimit&&(a.dataLimit(i)||(l=!1))),!l){w.debug&&console.error(i),w.debug&&console.error("数据类型不符合要求，无法渲染页面。");continue}t&&(o=t({data:i,target:r[s],type:"display",dataType:n})||("object"==typeof i?JSON.stringify(i):i))}else o="object"==typeof i?JSON.stringify(i):i;if(a=r[s].tagName.toLowerCase(),"img"!==a){if(void 0===r[s].dataset.insert&&(r[s].dataset.insert="replace"),"select"===a){if(!/<option .*option>/i.test(o)){for(let t of r[s].options)if(t.value==o){t.selected=!0;break}continue}}else if("input"===a&&["checkbox","radio"].indexOf(r[s].type)>=0&&"boolean"==typeof o){r[s].checked=o;continue}if(void 0!==r[s].value&&"select"!==a)switch(r[s].dataset.insert){case"before":r[s].value=`${o}${r[s].value}`;break;case"end":r[s].value=`${r[s].value}${o}`;break;default:r[s].value=o}else{if(w.checkhtml&&!w._htmlcheck(o))return!1;switch(o=t?w.replaceSrc(o):w.replaceSrc(o,!0,e.tagName.toLowerCase()),r[s].dataset.insert){case"before":r[s].insertAdjacentHTML("afterbegin",o);break;case"end":r[s].insertAdjacentHTML("beforeend",o);break;default:r[s].innerHTML=o}(t||0===t)&&w.initPageDomEvents(e,r[s],!1)}o=""}else r[s].src=o}},w.parseform=function(t){let e={node:t,childs:{},buttons:{},submit:null,files:{},values:{}},r=t.querySelectorAll("input"),i=t.querySelectorAll("select"),o=t.querySelectorAll("textarea");for(let t=0;t<r.length;t++)if(void 0!==r[t].name&&""!==r[t].name)switch(e.childs[r[t].name]=r[t],r[t].type){case"text":case"number":case"email":e.values[r[t].name]=r[t].value.trim();break;case"button":e.buttons[r[t].name]=r[t];break;case"submit":e.submit=r[t];break;case"file":r[t].files.length>0&&(e.files[r[t].name]=r[t].files);break;case"checkbox":r[t].checked&&(e.values[r[t].name]?e.values[r[t].name].push(r[t].value):e.values[r[t].name]=[r[t].value]);break;case"radio":r[t].checked&&(e.values[r[t].name]=r[t].value);break;default:e.values[r[t].name]=r[t].value}for(let t=0;t<i.length;t++)void 0!==i[t].name&&""!==i[t].name&&(i[t].options.length<=0||(e.childs[i[t].name]=i[t],e.values[i[t].name]=i[t].options[i[t].selectedIndex].value));for(let t=0;t<o.length;t++)void 0!==o[t].name&&""!==o[t].name&&(e.childs[o[t].name]=o[t],e.values[o[t].name]=o[t].value);return e},Object.defineProperties(w,{hooks:{value:[],writable:!1,enumerable:!1,configurable:!1},hookFunc:{value:{},writable:!1,enumerable:!1,configurable:!1}}),w.addHook=function(t,e=""){if("function"!=typeof t)return w.notifyError(`${t}不是function`);let r={name:"string"==typeof e?e:"",page:null,exclude:null,mode:"always",count:0};return"object"==typeof e&&(e.name&&(r.name=e.name),e.page&&("string"==typeof e.page&&(e.page=[e.page]),Array.isArray(e.page)&&(r.page=[...e.page])),e.exclude&&("string"==typeof e.exclude&&(e.exclude=[e.exclude]),Array.isArray(e.exclude)&&(r.exclude=[...e.exclude])),e.mode&&["always","once"].indexOf(e.mode)>=0&&(r.mode=e.mode)),r.name||(r.name=w.randid()),w.hookFunc[r.name]?w.hookFunc[r.name]={func:t,options:r}:(w.hookFunc[r.name]={func:t,options:r},w.hooks.push(r.name)),w},w.removeHook=function(t){let e=w.hooks.indexOf(t);return!(e<0)&&(delete w.hookFunc[t],w.hooks.splice(e,1),!0)},w.resetHookCount=function(t){if(w.hooks.indexOf(t)<0||!w.hookFunc[t])return!1;w.hookFunc[t].options.count=0},w.hashchange=null,w.runHooks=async function(t){try{let e,r=t.path;for(let i of w.hooks)if(e=w.hookFunc[i],e&&e.func&&"function"==typeof e.func&&!(e.options.exclude&&e.options.exclude.indexOf(r)>=0||e.options.page&&e.options.page.indexOf(r)<0||"once"===e.options.mode&&e.options.count>0||(e.options.count+=1,!1!==await e.func(t))))return!1}catch(t){return w.notify(t.message,{ntype:"error"}),!1}return!0},w.events={scroll:function(){if(w.curpage){w.curpage.__scroll__=w.curpage.__dom__.scrollTop;let e=w.curpage.__dom__.clientHeight+w.curpage.__scroll__;if("function"==typeof w.curpage.onscroll)try{w.curpage.onscroll(w.curpage.__dom__.scrollTop,w.curpage.__dom__.clientHeight,w.curpage.__dom__.scrollHeight)}catch(t){}var t=!1;if(t=w.isFirefox?Math.abs(e-w.curpage.__dom__.scrollHeight)<=1.21:Math.abs(e-w.curpage.__dom__.scrollHeight)<1.56,w.curpage.__scroll__<=1e-7){if("function"==typeof w.curpage.ontop&&!w.curpage.onTopLock){w.curpage.onTopLock=!0;try{w.curpage.ontop()}catch(t){}w.curpage.onTopLock=!1}}else if(t&&"function"==typeof w.curpage.onbottom)try{let t=Date.now();t-w.curpage.__bottom_time__>900&&(w.curpage.__bottom_time__=t,setTimeout((()=>{let t=w.curpage.__dom__.clientHeight+w.curpage.__dom__.scrollTop;w.curpage.__dom__.scrollHeight-t<1.56&&w.curpage.onbottom(w.curpage.__dom__.scrollHeight)}),350))}catch(t){console.log(t)}}},resize:function(){if(w.curpage&&"function"==typeof w.curpage.onresize)try{w.curpage.onresize(w.curpage.__dom__)}catch(t){w.notifyError(t.message)}}},w.init=null,w.tabs={cur:null,background:"#fafaff",selectedBackground:"#f1f2f3",list:[],pages:[],pageIndex:{}},w.switchTab=function(t){if(w.tabs.cur===t||w.tabs.pages.indexOf(t)<0)return;this.listenHashLock=!0,location.hash="",this.listenHashLock=!1;let e=w.tabsmenudom.childNodes,r=0;for(let i=0;i<e.length;i++)if(r=e[i].id.indexOf(t),r>0&&e[i].id.substring(r)===t){if(e[i].style.background=w.tabs.selectedBackground,w.tabs.list[i].selectedIcon&&w.tabs.list[i].selectedIcon.length>0){let t=e[i].querySelector("img");t&&(t.src=t.dataset.url+w.tabs.list[i].selectedIcon)}}else if(e[i].style.background=w.tabs.background,w.tabs.list[i].icon&&w.tabs.list[i].icon.length>0){let t=e[i].querySelector("img");t&&(t.src=t.dataset.url+w.tabs.list[i].icon)}w.tabs.cur=t,w.loadPage(w.parseHashUrl(t))},w.navi=function(t,e={}){let r="w-navigate-btn";e.position?["left","right","bottom"].indexOf(e.position)<0&&(e.position="left"):e.position="left",r+=` w-navigate-btn-${e.position}`,void 0===e.background&&(e.background=!0),!0===e.background||"default"===e.background?r+=" w-navigate-btn-bk":"rgba"===e.background?r+=" w-navigate-btn-bkrgba":"lucency"===e.background&&(r+=" w-navigate-btn-bklucency"),e.up&&"bottom"!==e.position&&(r+=" w-navigate-btn-up"),setTimeout((()=>{w.navibtndom.className=r,w.navibtndom.innerHTML=t,w.initPageDomEvents(e.context||w.curpage,w.navibtndom,!1)}),5)},w.naviGlass=function(t,e="left",r=!1){w.navi(t,{position:e,background:"glass",up:r})},w.naviHide=function(){w.navibtndom.innerHTML="",w.navibtndom.className=""},Object.defineProperty(w,"_devents",{enumerable:!1,writable:!1,configurable:!1,value:["animationcancel","animationend","animationiteration","animationstart","auxclick","beforematch","blur","canplay","change","click","close","compositionend","compositionstart","compositionupdate","contextmenu","copy","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","ended","error","focus","focusin","focusout","fullscreenchange","fullscreenerror","input","invalid","keydown","keyup","load","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerup","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","submit","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","wheel"]}),w.initDomEvent=function(t,e,r,i=!0){if(!e||!e.querySelectorAll)return!1;let o=e.querySelectorAll("form");for(let t of o)t.onsubmit||(t.onsubmit=()=>!1);o=e.querySelectorAll(`[data-on${r}]`);let n=e=>{let i=e.dataset[`on${r}`].trim().split(" ").filter((t=>t.length>0));e.__events_map__||Object.defineProperty(e,"__events_map__",{enumerable:!1,writable:!0,configurable:!0,value:{}});let o="";i.forEach((i=>{let n=i.indexOf(":"),a=!1;if(n>0){let t=i.substring(0,n),e=i.substring(n+1);if(i=t,e.length>0){a={};for(let t=0;t<e.length;t++)switch(e[t]){case"c":a.capture=!0;break;case"o":a.once=!0;break;case"p":a.passive=!0;break;case"s":a.signal=!0}}}o=r+":"+i,e.__events_map__[o]||(e.__events_map__[o]=o,e.addEventListener(r,w.genEventProxy(t,i),a))}))};if(i&&e.dataset&&e.dataset[`on${r}`]&&n(e),"self"!==i)for(let t of o)n(t)},w.initPageDomEvents=function(t,e,r=!0){for(let i of w._devents)w.initDomEvent(t,e,i,r)},w.eventProxy=function(t,e,r){let i=r.trim().indexOf("w."),o=null,n="";if(n=e instanceof Component||e.tagName&&e.__attrs__?`<div style="line-height:1.1;">${e.tagName.toLowerCase()}:</div>`:`<div style="line-height:1.1;">${e.__name__}:</div>`,0===i){let e=w.getFunc(r.trim());if(!e)return t.target&&t.target.dataset.noterror||w.notifyError(`${n}<div>${r} is not a function.</div>`),!1;o=e.func}else if(!e||!e[r]||"function"!=typeof e[r])return t.target&&t.target.dataset.noterror||w.notifyError(`${n}<div>${r} is not a function.</div>`),!1;let a={target:t.target,currentTarget:t.currentTarget,event:t,type:t.type,value:"",getData:function(t,e=null){return this.target&&this.target.dataset&&void 0!==this.target.dataset[t]?this.target.dataset[t]:this.currentTarget&&this.currentTarget.dataset&&void 0!==this.currentTarget.dataset[t]?this.currentTarget.dataset[t]:e}},s=t.target.tagName.toLowerCase();if(a.tag=s,"form"===s)a.form=w.parseform(t.target),a.value=a.form.values;else if("input"===s||"textarea"===s)switch(a.value=a.target.value||"",a.target.type){case"file":a.files=a.target.files;break;case"checkbox":a.checked=a.target.checked}else"select"===s&&(a.value=a.target.options[a.target.selectedIndex].value);a.data=a.value;try{return 0===i?o(a):e[r](a)}catch(t){w.notify(t.message,"error")}},w.genEventProxy=function(t,e){return r=>w.eventProxy(r,t,e)},w._http_preg=new RegExp("^http[s]?://","i"),Object.defineProperty(w,"__mod__",{enumerable:!1,configurable:!1,writable:!1,value:Object.create(null)}),window._import=w.import=async function(t,e=!1){if(w.__mod__[t]&&!e)return w.__mod__[t];try{let e;w._http_preg.test(t)&&(e=await import(t).then((t=>t))),"/"!==t[0]&&(t=`/${t}`);let r=parseInt(1e4*Math.random());return e=await import(`${w.prepath}${t}?rand=${r}`).then((t=>t)),w.__mod__[t]=e,e}catch(t){w.notifyError(`import module:<p>${t.message}</p>`,5e3)}},Object.defineProperty(w,"__ext__",{enumerable:!1,configurable:!1,writable:!1,value:Object.create(null)}),w.ext=new Proxy(w.__ext__,{set:(t,e,r)=>{if(!t[e])return t[e]=r,!0;console.error(`${e}: 扩展名重复，请检查。`)},get:(t,e)=>{if(t[e])return t[e];console.error(`${e}: 没有此扩展。`)},deleteProperty:(t,e)=>(t[e]&&delete t[e],!0)}),Object.defineProperty(w,"__require_loop__",{value:111,configurable:!1,writable:!1,enumerable:!1}),window.require=async function(t){try{if(w.__ext__[t])return w.__ext__[t];let e=t.length;if("/"===t[e-1]){let r={};await new Promise((t=>{setTimeout((()=>{t()}),10)}));for(let i in w.__ext__)0===i.indexOf(t)&&(r[i.substring(e)]=w.__ext__[i]);return r}let r=w.__require_loop__;for(let e=0;e<r;e++)if(await new Promise((t=>{setTimeout((()=>{t()}),5)})),w.__ext__[t])return w.__ext__[t];throw new Error(`${t}: 没有此扩展。`)}catch(t){console.error(t.message),console.error("请检查扩展是否启用或是否存在循环引用。")}},Object.defineProperties(w,{shareData:{writable:!1,value:{}},shareNoticeList:{writable:!1,value:{length:0,funcmap:{},idmap:{}}}}),w.registerShareNotice=function(t){if(!t||"object"!=typeof t)return w.notifyError("options不是object类型。"),!1;if(w.shareNoticeList.length>=10101)return w.notifyError("注册通知函数已达上限，不能超过10101个。"),!1;if(!t.key)return w.notifyError("注册通知函数必须明确指定key，若要全部监听，则使用*作为key值。"),!1;if(!t.callback||"function"!=typeof t.callback)return w.notifyError("没有callback函数用于通知回调。"),!1;if(t.type?"all"===t.type||Array.isArray(t.type)||(t.type=[t.type]):t.type=["set"],t.mode||(t.mode="always"),t.count=0,t.id=w.randid(`${t.key}::`),w.shareNoticeList.funcmap[t.key]){if(t.only&&!t.reuse)return!1;let e=w.shareNoticeList.funcmap[t.key];if(t.only&&t.reuse&&e.list[0]&&e.list[0].only&&e.list[0].reuse)return t.id=e.list[0].id,e.list=[t],w.shareNoticeList.idmap[t.id]=t,t.id;if(e.list.length>=111)return w.notifyError("同一个key注册通知函数不能超过111个。"),!1;for(let r of e.list)if(r===t||r.callback===t.callback)return r.id;e.list.push(t)}else{let e=t.key,r=t=>"*"===e||t===e,i="",o="s";t.key instanceof RegExp?(o="r",r=t=>e.test(t)):"*"!==t.key&&"*"===t.key[t.key.length-1]&&(o="p",i=t.key.substring(0,t.key.length-1),r=t=>0===t.indexOf(i)),w.shareNoticeList.funcmap[t.key]={type:o,match:r,list:[t]}}return w.shareNoticeList.length+=1,w.shareNoticeList.idmap[t.id]=t,t.id},w.removeShareNotice=function(t){if(!t)return!1;if(!w.shareNoticeList.idmap[t])return!1;let e=w.shareNoticeList.idmap[t];if(!w.shareNoticeList.funcmap[e.key])return delete w.shareNoticeList.idmap[t],e;let r=w.shareNoticeList.funcmap[e.key].list,i=0;for(let o of r){if(o.id===t)return r.splice(i,1),w.shareNoticeList.length-=1,0===r.length&&delete w.shareNoticeList.funcmap[e.key],o;i+=1}return e},w.runShareNotice=function(t,e,r,i=null){let o,n=[],a=null;w.shareNoticeList.funcmap["*"]&&(a=w.shareNoticeList.funcmap["*"].list),"*"!==r&&w.shareNoticeList.funcmap[r]&&(n=n.concat(w.shareNoticeList.funcmap[r].list));for(let t in w.shareNoticeList.funcmap)"*"!==t&&t!==r&&(o=w.shareNoticeList.funcmap[t],"s"!==o.type&&o.match(r)&&(n=n.concat(o.list)));if(0==n.length&&!a)return;a&&(n=n.concat(a));let s=[],l=[],c="";for(let o of n)if(!("all"!==o.type&&o.type.indexOf(t)<0))if("once"===o.mode&&o.count>0)s.push(o.id);else{o.count<2e8&&(o.count+=1),"once"===o.mode&&s.push(o.id);try{let n=i;if(o.action){let t=typeof i;i&&"object"===t?void 0===i.action&&(i.action=""):n={data:i,action:"string"===t?i:""}}c=o.callback({type:t,obj:e,key:r,data:n}),void 0!==c&&l.push(c)}catch(t){w.notifyError(t.message)}}if(s.length>0)for(let t of s)w.removeShareNotice(t);return l.length>0?1===l.length?l[0]:l:void 0},Object.defineProperty(w,"share",{writable:!1,value:new Proxy(w.shareData,{set:(t,e,r)=>(t[e]=r,w.runShareNotice("set",t,e,r),!0),get:(t,e)=>w.runShareNotice("get",t,e)||t[e]||null,deleteProperty:(t,e)=>(void 0!==t[e]&&(w.runShareNotice("delete",t,e),delete t[e]),!0)})}),w.setShare=function(t,e){if(!t)return this.debug&&console.error("共享数据的 key 必须是字符串。"),!1;w.share[t]=e},w.getShare=function(t){return w.share[t]},w.loadScript=async function(t,e=""){w._http_preg.test(t)||(e&&0===t.indexOf("./static")&&(t=t.replace("./static","/component/"+e)),"/"!==t[0]&&(t=`/${t}`),t=`${w.prepath}${w.prepath.length>0?"/":""}${t}`);let r=document.createElement("script");return new Promise(((e,i)=>{r.type="text/javascript",r.src=t,document.body.appendChild(r),r.onerror=t=>{i(t)},r.onload=()=>{e({ok:!0,msg:"success"})}}))},Object.defineProperty(w,"__bindpage__",{enumerable:!1,writable:!1,configurable:!1,value:t=>e=>{if("function"==typeof e)try{e.prototype?w.pages[t]=new e:w.pages[t]=e()}catch(t){w.alertError(t.message)}else"object"==typeof e?w.pages[t]=e:(w.pages[t]={},setTimeout((()=>{w.alertError(`${t} 页面初始化失败。`)}),1500));w.initOnePage(t)}}),Object.defineProperty(w,"__module__",{enumerable:!1,configurable:!1,writable:!1,value:t=>{let e={};return Object.defineProperty(e,"exports",{set:e=>{w.ext[t]=e},get:()=>t}),e}}),w.getFunc=function(t,e=!1){let r;if(r=Array.isArray(t)?t:t.split(".").filter((t=>t.length>0)),"w"===r[0]&&(r=r.slice(1)),r.length<=0)return null;let i=null,o=w;for(let t of r)if(i=o,o=o[t],!o)return null;let n=typeof o;return"function"===n?{type:n,value:o,object:i,key:r[r.length-1],func:o.bind(i)}:o&&o!==w&&e?{type:n,value:o,object:i,key:r[r.length-1]}:void 0},w.runFunc=function(t,...e){let r=w.getFunc(t);return r?r.func(...e):(w.debug&&console.error(t,"没有此方法"),!1)},Object.defineProperty(w,"__comps_loop__",{enumerable:!1,configurable:!0,writable:!1,value:{}});class Component extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:"closed"}),Object.defineProperty(this,"__attrs__",{value:Object.create(null),configurable:!1,writable:!1,enumerable:!0}),Object.defineProperty(this,"__init__",{value:!1,configurable:!1,writable:!0,enumerable:!1}),Object.defineProperty(this,"__channel_id__",{value:null,configurable:!1,writable:!0,enumerable:!1}),Object.defineProperty(this,"__space__",{value:"",configurable:!1,writable:!0,enumerable:!1}),Object.defineProperty(this,"space",{get:()=>this.__space__}),this.allAttrs=()=>this.__attrs__,this.attrs=new Proxy(this.__attrs__,{set:(t,e,r)=>{let i=void 0===t[e]?null:t[e];this.properties[e]?(t[e]=this._propValue(this.properties[e],r),this[e]=r):t[e]=r;try{"function"==typeof this.onattrchange&&this.onattrchange(e,i,t[e])}catch(t){w.debug&&console.error(t)}return!0},get:(t,e)=>(void 0!==this.attributes[e]&&void 0===t[e]&&(t[e]=this._propValue(this.properties[e]||{},this.attributes[e].value)),void 0===t[e]?null:t[e]),deleteProperty:(t,e)=>{if(void 0!==t[e]){let r=t[e];delete t[e],this.properties[e]&&(!this.notDelete||this.notDelete.indexOf(e)<0)&&delete this[e];try{"function"==typeof this.onattrchange&&this.onattrchange(e,r,null)}catch(t){w.debug&&console.error(t)}}return!0}}),queueMicrotask(this.__queue_task_init__.bind(this))}async __queue_task_init__(){let t;this.properties&&"object"==typeof this.properties||(this.properties={}),this.notDelete&&!Array.isArray(this.notDelete)&&(this.notDelete=[this.notDelete]);for(let e in this.properties){if(t=typeof this.properties[e],"string"===t)this.properties[e]={type:this.properties[e]};else if("object"!==t)continue;void 0!==this.properties[e].default&&(this.__attrs__[e]=this.properties[e].default)}for(let t of this.attributes)this.properties[t.name]?this.__attrs__[t.name]=this._propValue(this.properties[t.name],t.value):this.__attrs__[t.name]=t.value;if(this.init&&"function"==typeof this.init)try{"AsyncFunction"===this.init.constructor.name?await this.init():this.init()}catch(t){w.debug&&console.error(t),w.debug&&w.notifyTopError(t.message)}if(this.findSpace(),this.render&&"function"==typeof this.render){let t=this.render()||"";this.initPlateTemplate(null,t)}this.afterRender&&"function"==typeof this.afterRender&&this.afterRender()}_propValue(t,e){if(!t||"object"!=typeof t)return e;if(!t.type)return e;switch(t.type){case"string":"string"==typeof e?t.match&&t.match instanceof RegExp&&!t.match.test(e)&&(e=t.default||""):e=`${e}`;break;case"number":case"int":e=parseInt(e);break;case"float":e=parseFloat(e);break;case"boolean":"boolean"!=typeof e&&(e="false"!==e&&"0"!==e&&null!=e);break;case"urijson":case"encodejson":case"uri-json":if("string"==typeof e)try{let t=decodeURIComponent(e);e=JSON.parse(t)}catch(r){e=t.default||{}}else e=t.default||{};break;case"json":if("string"==typeof e)try{e=JSON.parse(e)}catch(r){try{(e.indexOf("%22")>0||e.indexOf("%5B")>=0||e.indexOf("%7B")>=0)&&(e=JSON.parse(decodeURIComponent(e)))}catch(r){e=t.default||{}}}else e=t.default||{}}let r=typeof e;if("object"!==r&&void 0!==t.limit&&Array.isArray(t.limit)){if(t.limit.indexOf(e)<0)return void 0!==t.default?t.default:t.limit[0]}else if("number"===r){let r=0;if(void 0!==t.min&&e<t.min&&(r=-1),void 0!==t.max&&e>t.max&&(r=1),0!==r)return void 0!==t.default?t.default:r<0?t.min:t.max}return e}checkLoopRef(t){let e=`<${this.tagName.toLowerCase()}`,r=e+">",i=this.outerHTML.indexOf(e),o=this.outerHTML.indexOf(">")+1,n=this.outerHTML.substring(i,o),a={ok:!0,outername:n,tagname:r};if("string"==typeof t){if(t.indexOf(n)>=0)return a.ok=!1,a}else if(t.innerHTML.indexOf(n)>=0)return a.ok=!1,a;let s=this.parentNode,l=e.substring(1);for(w.__comps_loop__[l]||(w.__comps_loop__[l]=[]);s;){if("[object ShadowRoot]"!==s.toString())return a;w.__comps_loop__[l].push(s.host.localName),s=s.parentNode}let c=1,u=(t,e)=>{for(let r of t){if(r===e&&c++,c>2)return!1;if(w.__comps_loop__[r].length>0&&!1===u(w.__comps_loop__[r],e))return!1}return!0};return u(w.__comps_loop__[l],l)||(a.ok=!1),a}notifyLoopRefError(t){let e=t.outername.replaceAll("<","&lt;").replaceAll(">","&gt;");return w.notifyError(`${this.tagName} [${e}]存在循环引用${t.ref?" &lt;--&gt; ":""}${t.ref||""}`,2e4),""}findSpace(){if(this.dataset&&this.dataset.space)return this.__space__=this.dataset.space,this.__space__;let t,e=this.parentNode;for(;e&&(t=e instanceof ShadowRoot?e.host:e,t&&t.dataset&&"__wight_page__"!==t.dataset.container);){if(t.dataset.space)return this.__space__=t.dataset.space,this.__space__;e=t.parentNode}return""}initPlateTemplate(t=null,e=null){if(this.__init__)return!0;if(e||(e=this.plate(t)),"object"==typeof e&&e)this.shadow.appendChild(e);else if("string"==typeof e&&e.length>0){let t=this.checkLoopRef(e);if(!1===t.ok)return this.notifyLoopRefError(t);w._htmlcheck(e)&&(this.shadow.innerHTML=e)}return this.__init__=!0,w.initPageDomEvents(this,this.shadow),!0}plate(t=null,e={}){"object"==typeof t&&t&&(e=t,t=null);let r=this.tagName.toLowerCase();t&&"#"===t[0]&&(t=t.substring(1));let i=w.__templatedom__.querySelector(`div[data-templateid=${r}]`);if(!i)return!1;if(i=t?i.querySelector(`template[id=${t}]`):i.querySelector("template"),!i)return!1;let o,n=!0;if(w.__components_css__&&w.__components_css__[r]){let t=w.__components_css__[r];if(t&&Array.isArray(t)&&t.length>0){let e="",a="";if(o=0===t[0].indexOf("./")?r+"/"+t[0]:t[0],i.content.firstChild&&i.content.firstChild.id===o&&(n=!1),n)for(let n=t.length-1;n>=0;n--)if(o=0===t[n].indexOf("./")?r+"/"+t[n]:t[n],w.__css_code_map__&&w.__css_code_map__[o])try{e=document.createElement("style"),e.id=o,a=w.__css_code_map__[o],e.appendChild(document.createTextNode(a)),i.content.insertBefore(e,i.content.firstChild)}catch(t){console.error(t)}}}let a=this.checkLoopRef(i);if(!1===a.ok)return this.notifyLoopRefError(a);let s,l=i.content.cloneNode(!0);for(let t in e)s=l.querySelectorAll(`[data-name=${t}]`),w._setData(null,this,s,e[t]);return l}_fmtquery(t){let e=`[data-name=${t}]`;if("&"===t[0])e=t.substring(1);else if([".",":","#"].indexOf(t[0])>=0)e=t;else if(t.indexOf("[")>=0)return t;return e}view(t,e=null){if(this.__init__||this.initPlateTemplate(null,null),"string"==typeof t){let r=t;(t={})[r]=e}let r,i="";for(let e in t)if(i=this._fmtquery(e),r=this.shadow.querySelectorAll(i),null!==t[e])try{w._setData(0,this,r,t[e])}catch(t){w.debug?(w.notifyError(t.message,3500),console.error(t)):w.__cacheError(t)}else w._resetData(0,this,r);return this}resetView(t){Array.isArray(t)||(t=[t]);let e={};for(let r of t)r&&"string"==typeof r&&(e[r]=null);this.view(e)}setAttr(t){if(!t||"object"!=typeof t)return;let e,r,i;for(let o in t)if(e=this._fmtquery(o),r=this.shadow.querySelectorAll(e),0!==r.length){i=t[o];for(let t of r)for(let e in i)switch(e){case"class":case"className":t.className=i[e];break;case"style":if("string"==typeof i[e])t.style.cssText=i[e];else if("object"==typeof i[e])for(let r in i[e])t.style[r]=i[e][r];break;default:t[e]=i[e]}}}setStyle(t){let e;for(let r in t)e={},e[r]={style:t[r]},this.setAttr(e)}queryAll(t,e=null){let r=this.shadow.querySelectorAll(t);return e&&"function"==typeof e&&r.forEach(e),r}query(t,e=null){let r=this.shadow.querySelector(t);return r?(e&&"function"==typeof e&&e(r),r):null}sendChannel(t,e,r=null){return w.setShare(this.spaceKey(t,r),e)}getChannel(t,e=null){return w.getShare(this.spaceKey(t,e),data)}spaceKey(t,e=null){return null!==e&&"string"==typeof e?`${e?e+"@":""}${t}`:`${this.__space__?this.__space__+"@":""}${t}`}connectedCallback(){queueMicrotask((()=>{this.attrs.channel&&(0===this.attrs.channel.indexOf("chan::")?this.__channel_id__=w.registerShareNotice({key:this.spaceKey(this.attrs.channel),mode:"always",type:["set","get"],only:!!this.attrs["channel-only"],action:!!this.attrs["channel-action"],callback:t=>{"set"===t.type?this.channelInput&&"function"==typeof this.channelInput&&this.channelInput(t):this.channelOutput&&"function"==typeof this.channelOutput&&this.channelOutput(t)}}):console.error(this.tagName.toLocaleLowerCase(),"=> channel 属性必须以 chan:: 开头")),this.onload&&"function"==typeof this.onload&&this.onload()}))}disconnectedCallback(){this.onremove&&"function"==typeof this.onremove&&(this.__channel_id__&&(w.removeShareNotice(this.__channel_id__),this.__channel_id__=null),this.onremove())}adoptedCallback(){this.onadopted&&"function"==typeof this.onadopted&&this.onadopted()}attributeChangedCallback(t,e,r){this.onattrchange&&"function"==typeof this.onattrchange&&this.onattrchange(t,e,r)}naviGlass(t,e="left",r=!1){w.navi(t,{context:this,position:e,background:"glass",up:r})}naviHide(){w.naviHide()}alert(t,e=null){return e&&"object"==typeof e||(e={}),e.context=this,w.alert(t,e)}alertDark(t,e={}){return e&&"object"==typeof e||(e={}),e.context=this,w.alertDark(t,e)}cancelAlert(t=""){return w.cancelAlert(t)}cover(t,e=null){return e&&"object"==typeof e||(e={}),e.notClose=!0,e.withCover=!0,this.alert(t,e)}coverDark(t,e=null){return e&&"object"==typeof e||(e={}),e.notClose=!0,e.withCover=!0,this.alertDark(t,e)}uncover(t="last"){return w.uncover(t)}loadScript(t){return w.loadScript(t,this.tagName.toLowerCase())}sliderPage(t,e=!1){w.sliderPage(t,e,this)}hideSlider(t=!0){w.hideSlider(t)}prompt(t,e={}){e&&"object"==typeof e||(e={}),e.target=this,w.prompt(t,e)}unprompt(t=!0){w.unprompt(t)}unpromptMiddle(){w.unprompt(!1)}promptTop(t,e={}){e.wh="top",this.prompt(t,e)}promptMiddle(t,e={}){e.target=this,w.promptMiddle(t,e)}promptDark(t,e={}){e.target=this,w.promptDark(t,e)}promptMiddleDark(t,e={}){e.target=this,w.promptMiddleDark(t,e)}promptTopDark(t,e={}){e.target=this,w.promptTopDark(t,e)}bindEvent(t,e=!0){w.initPageDomEvents(this,t,e)}findMethod(t,e=["config","ext"]){"string"==typeof e&&(e=[e]),e&&Array.isArray(e)&&0!==e.length||(e=["config","ext"]);for(let r of e)if(w[r]&&w[r][t]&&"function"==typeof w[r][t])return w[r][t];return null}}w.Model=class{constructor(){this.prepath="",this.apitable={},Object.defineProperty(this,"__api_table__",{enumerable:!1,configurable:!1,writable:!1,value:{}}),queueMicrotask((()=>{for(let t in this.apitable)this.__api_table__[t]=(this.prepath+this.apitable[t]).split("/").filter((t=>t.length>0))}))}fmtParam(t,e={}){let r;if("string"==typeof t&&t.indexOf("/")<0&&this.__api_table__[t]&&(t=this.__api_table__[t]),e&&"object"==typeof e||(e={id:e}),Array.isArray(t))return r=[],t.forEach((t=>{let i=t.substring(1);":"===t[0]&&void 0!==e[i]?r.push(encodeURIComponent(e[i])):r.push(t)})),"/"+r.join("/");r=t;for(let t in e)r=r.replace(`:${t}`,encodeURIComponent(e[t]));return r}};</script>
</head>
<body style="overflow-x:hidden;overflow-wrap:break-word;">
  <div id="w-pages-container-aaec7c5f1ce71"></div>
  <div id="w-templates-aaec7c5f1ce71"><div data-templateid="head-menu"><template><style>[space] {
      height:3.5rem;}

    [headtop] {
      z-index: 10;position: fixed;width: 100%;top: 0%;background: #fcfcff;box-shadow: 0 0.25rem 0 #f1f2f3;line-height: 3.3rem;overflow-y: hidden;}

    [menu] {
      color: #42424f;font-size: 1rem;padding: 0px 0.58rem;}

    .menu-select, [menu-select] {
      font-weight: bold;color: #893456;border-bottom: solid 2px #893456;}

    .menu-select:active {
      text-shadow: 0.2rem 0.2rem 0.2rem #dfdfdf;}</style><div headtop row><div lg-1></div><div sm-3 md-2 lg-2 center data-name="userlogo"></div><div sm-7 md-7 lg-6 row data-name="menus" show-middle-plus></div><div sm-7 md-6 align-right data-onclick="showSlideMenu" show-small-only><img click icon src="/wy-wxm-ww-ok/wight-app/static/components/head-menu/menu.png" alt="|||"></div><div show-middle-plus md-2 lg-2 align-right data-name="logout"><user-logout mode="icon"></user-logout></div></div><div row space></div></template><template id="vertical"><style>[menu] {
      padding-left: 0.567rem;padding-right: 0.567rem;color: #42424f;font-size: 1rem;}

    .menu-select, [menu-select] {
      font-weight: bold;color: #893456;border-left: solid 3px #893456;}

    .menu-select:active {
      text-shadow: 0.2rem 0.2rem 0.2rem #dfdfdf;}</style><div row><div sm-3 md-3 lg-3></div><div sm-6 md-6 lg-6 data-name="menus"></div><div c-12 center data-name="logout" mtop-2 padding><user-logout mode="icon"></user-logout></div></div></template></div><div data-templateid="user-info"><template><style>[spana] {
      cursor: pointer;padding: 0.25rem;color: #4a4a68;line-height: 120%;user-select: none;}

    [click] {
      cursor: pointer;}

    [center] {
      display: grid;place-items: center;}</style><div data-name="userinfo"></div></template></div><div data-templateid="doc-list"><template><style>[lefttop] {
  z-index: 9;position: fixed;width: 20.5%;height: 98.5%;background: #fcfcff;box-shadow: 0 0.25rem 0 #f1f2f3;line-height: 2;overflow-y: auto;user-select: none;
}

.doc-chapter {
  white-space: nowrap;word-break: keep-all;text-overflow: ellipsis;overflow: hidden;
}</style><div container lefttop data-name="doclist"></div></template><template id="small"><style>[lefttop] {
    z-index: 9;position: fixed;width: 90%;height: 100%;background: #fcfcff;box-shadow: 0 0.25rem 0 #f1f2f3;line-height: 2;overflow-y: auto;}</style><div container data-name="doclist"></div></template></div><div data-templateid="doc-content"><template><style></style><div>doc-content组件</div></template></div><div data-templateid="x-app"><template><style>input[required]:not([type="submit"]):not([type="range"]) {
    border: solid 0.5px #ce95a3;}</style><form data-onsubmit="postApp"><div row><div c-12><label bold>应用名称*</label><input type="text" data-oninput="setchange showhint" data-name=name name="name" maxlength="50" placeholder="应用名称，3~50字" required><span data-name="namehint" tiny italic></span><div gray-light italic tiny>应用名称用于标记，方便开发者识别，名称不可重复。</div></div><div c-12 mtop></div><div c-12><label bold>api host*</label><input type="text" data-oninput="setchange" data-name=host name="host" value="http://localhost:1234" placeholder="后台请求的url" required><div gray-light italic tiny>如果需要给每个api都加一个前缀，请在后面加上前缀路径</div></div><div c-12 mtop-2></div><div sm-7 md-6 lg-5><label bold>提交token的消息头字段*</label><input type="text" data-name=authorization name="authorization" placeholder="提交token的消息头字段" value="authorization" required><div gray-light italic tiny>默认一般都是authorization字段携带token。</div></div><div sm-5 md-6 lg-4 style="padding-left: 0.5rem;"><label>&nbsp;</label><input type="checkbox" name="is_token" data-name="is_token" checked><span title="是否自动携带token值进行API请求">with token</span></div><div c-12 mtop></div><div c-12><label bold>登录获取token的url</label><input type="text" name="token_api" data-oninput="setchange" data-name="token_api" placeholder="用于自动获取token的url"></div><div c-12 mtop-2></div><div c-12><label bold>登录提交的数据</label><textarea spellcheck="false" data-name="login_data" name="login_data" id="" cols="30" rows="10">{"username": "", "passwd": ""}</textarea><div gray-light italic small>登录提交的数据如果需要从多条里面选择请使用数组。</div></div><div c-12 mtop-2></div><div sm-5 md-5 lg-5><label bold>登录验证返回值的格式</label><select name="response_type" data-name="type" long-input data-onchange="setresponseform"><option value="json">JSON</option><option value="string">String</option></select></div><div sm-7 md-7 lg-7 style="padding-left: 0.5rem;"><label>&nbsp;</label><div tiny gray-light italic>string表示字符串类型，就是返回值直接就是token，以下设置项只对JSON类型有效。</div></div><div c-12 mtop></div><div sm-6 md-6 lg-6><label bold>返回值token属性</label><input name="response_token" data-name="token" data-ref="ref-json" data-oninput="setchange" type="text" value="access_token"></div><div sm-6 md-6 lg-6 style="padding-left: 0.5rem;"><label bold>token有效期属性</label><input data-ref="ref-json" data-name="expires" data-oninput="setchange" type="text" name="response_expires" value="expires"><div tiny italic red>填写数字表示固定的有效期，数字是毫秒值为单位，填写字符串表示返回值的属性值给出了token有效期。</div></div><input type="hidden" data-name="id" name="id" value=""><div c-12 mtop-2></div><div c-12 align-center><input type="submit" click-middle value="提交"></div></div></form></template></div><div data-templateid="x-body"><template><style>[padding-key] {
    padding:0.1rem 0;padding-right: 0.1rem;}

  [padding-value] {
    padding:0.1rem 0;padding-left: 0.1rem;}</style><div container inset-shadow style="margin-top:0.72rem;padding:0.25rem 0.35rem;"><div row data-name="control"><div sm-6 md-6 lg-6><img src="/wy-wxm-ww-ok/wight-app/static/components/x-body/icon/reset.png" click icon title = "点击重置数据" alt="重置" data-onclick="reset"></div><div sm-6 md-6 lg-6 align-right><img src="/wy-wxm-ww-ok/wight-app/static/components/x-body/icon/delete.png" click icon alt="删除" data-onclick="removeData"></div></div><div row><div sm-5 md-5 lg-5 padding-key data-name="formkey"></div><div sm-7 md-7 lg-7 padding-value data-name="formvalue"></div></div></div></template></div></div>
  <div id="w-interface-aaec7c5f1ce71"></div>
  <script>
    'use strict';
    w.pgcdom = document.querySelector('#w-pages-container-aaec7c5f1ce71');
    w.interfacedom = document.querySelector('#w-interface-aaec7c5f1ce71');
    w.__templatedom__ = document.querySelector('#w-templates-aaec7c5f1ce71');
    if (!w.__templatedom__) {
      w.notifyTopError('无法获取template容器节点');
    }
    w.pageNameList = ["home","doc","guide","backend","server","self","request"];
    w.host = 'http://localhost:1213';
    window.__prepath__ = w.prepath = '/wy-wxm-ww-ok/wight-app';
    w.homepage = 'home';
    w.__title__ = 'wight框架';
    w.curTitle = 'wight框架';
    w.debug = false;
    w.dev = false;

    w.tabs.list = [];
    w.tabs.pages = [];
    w.tabs.pageIndex = {};
    w.tabs.background = '#fafaff';
    w.tabs.selectedBackground = '#fdad45';
    Object.defineProperty(w, '__replace_src_regex__', {
      enumerable: false,
      configurable: false,
      writable: true,
      value: null
    });

    window.alert = w.alert.bind(w);
    window.unalert = w.unalert.bind(w);
    window.alertError = w.alertError.bind(w);
    window.notify = w.notify.bind(w);
    window.notifyError = w.notifyError.bind(w);
    window.prompt = w.prompt.bind(w);
    window.unprompt = w.unprompt.bind(w);
    window.unpromptMiddle = w.unpromptMiddle.bind(w);
    window.unpromptTop = window.unpromptMiddle;
    window.notifyTop = w.notifyTop.bind(w);
    window.notifyTopError = w.notifyTopError.bind(w);
    window.notifyOnly = w.notifyOnly.bind(w);
    window.unnotify = w.unnotify.bind(w);
    window.promptMiddle = w.promptMiddle.bind(w);
    window.promptTop = w.promptTop.bind(w);
    window.promptGlass = w.promptGlass.bind(w);
    window.promptTopGlass = w.promptTopGlass.bind(w);
    window.promptTopDark = w.promptTopDark.bind(w);
    window.promptMiddleGlass = w.promptMiddleGlass.bind(w);
    window.promptDark = w.promptDark.bind(w);
    window.promptMiddleDark = w.promptMiddleDark.bind(w);
    window.cover = w.cover.bind(w);
    window.uncover = w.uncover.bind(w);
    window.alertDark = w.alertDark.bind(w);
    window.coverDark = w.coverDark.bind(w);
    window.cancelAlert = w.cancelAlert.bind(w);
  </script>
  <script>'use strict';!async function(e){e.token=new function(){this.key="token",this.refresh_api="",this.refresh_method="POST",this.autoRefreshTime=0,this.refresh=async function(e="",t=!1){if("boolean"==typeof e&&(t=e,e=""),!this.refresh_api&&!e)return!t&&w.notifyTopError("没有配置自动刷新token的api"),this.remove(),!1;let n=this.get();if(!n)return!t&&w.notifyTopError("请登录"),this.remove(),!1;let r=e||this.refresh_api;/^https?:/.test(r)||(r=w.host+r);let o=!1,i={method:this.refresh_method,headers:{authorization:n.refresh_token}};return 0===this.refresh_method.indexOf("P")&&(i.body={action:"refresh"}),await fetch(r,i).then((e=>(o=e.ok,e.ok?e.json():(this.remove(),e.text())))).then((e=>{o?(n.time=Date.now(),e.expires&&(n.expires=e.expires),n.token=e.token,this.set(n)):w.notifyTopError(e)})).catch((e=>{o=!1})),o},this.autoRefresh=async function(e=""){let t=Date.now();if(t-this.autoRefreshTime<1e4)return!1;this.autoRefreshTime=t;let n=this.get();return!!n&&(!n.expires||n.time+n.expires-101e3<t?this.refresh(e):void 0)},this.get=function(){return w.storage.jget(this.key)},this.set=function(e){e.time=Date.now(),w.storage.set(this.key,e)},this.remove=function(){w.storage.remove(this.key)},this.verify=function(e=""){let t=this.get();if(!t)return!1;if("object"!=typeof t)return!1;let n=Date.now();return"refresh"===e?!!t.refresh_token&&!(t.time+t.refresh_expires<n):!!t.token&&!(t.time+t.expires<n)}}}(w.ext,w.__module__("token")),async function(e){const t=await require("token"),n=await require("userinfo");e.parseUrl=function(){let e=t.get(),r=decodeURIComponent(location.search);if(!(r.length<=0||"?"!==r[0])||null!==e){var o=r.substring(1).split("&"),i={},a="";for(let e=0;e<o.length;e++)(a=o[e].split("=")).length<=0||(a.length<2&&a.push(""),i[a[0]]=a[1]);void 0!==i.token&&(t.set(i.token),n.set(i))}}}(w.ext,w.__module__("parseUrl")),async function(e){const t=await require("parseUrl"),n=await require("token");e.checkToken=function(e=!1){return t(),!!n.verify()||(e&&n.remove(),!1)}}(w.ext,w.__module__("checkToken")),async function(e){let t={};e.confirmExp=t,e.confirmExec=function(e){let n=e.target.dataset.id;if(void 0===t[n])return!1;let{callback:r,args:o,aid:i}=t[n];return delete t[n],w.cancelAlert(i),"function"==typeof r&&r(o)},e.confirmCancel=function(e){let n=e.target.dataset.id;if(void 0===t[n])return!1;w.cancelAlert(t[n].aid);try{t[n].cancel&&"function"==typeof t[n].cancel&&t[n].cancel()}catch(e){console.error(e)}finally{delete t[n]}},e.confirm=function(e={callback:null,args:null,text:""}){let n=`call_${Date.now()}${parseInt(1e4*Math.random())+1}`;t[n]={callback:e.callback,args:e.args||null},e.cancel&&(t[n].cancel=e.cancel);let r="#4a4a4a";e.dark&&(r="#f1f2f3");let o="",i="";e.buttonStyle&&Array.isArray(e.buttonStyle)&&e.buttonStyle.length>0&&(o=e.buttonStyle[0],i=e.buttonStyle[1]||"");let a=`<div style="text-align:center;font-size:95%;color:${r};">\n    <p>${e.text||""}</p>\n    <div style="box-sizing: border-box;display: flex;flex-flow: row wrap;margin-top:1.5rem;">\n      <div style="padding:0.2rem 0.5rem;flex: 1;box-sizing: border-box;text-align:center">\n      <button class="small"\n        style="font-weight:bold;background:#2376b3;${o}" \n        data-onclick="w.ext.confirmExec" \n        data-id="${n}">\n          确定</button>\n      </div>\n\n      <div style="padding:0.2rem 0.5rem;flex: 1;box-sizing: border-box;text-align:center">\n        <button class="small inverse" \n          style="background:#777879;${i}" \n          data-onclick="w.ext.confirmCancel" \n          data-id="${n}">\n            取消</button>\n      </div>\n    </div>\n  </div>`,s=(e.dark?w.coverDark.bind(w):w.cover.bind(w))(a,{transparent:!!e.transparent});t[n].aid=s},window.confirm=e.confirm.bind(e)}(w.ext,w.__module__("confirm")),async function(e){e.loginRedirect=function(){let e=`${location.href}`;location.href=`${w.host}/wx/oauth-code?redirect=${encodeURIComponent(e)}`}}(w.ext,w.__module__("loginRedirect")),async function(e){e.pushStart=function(){let e=location.hash;""===e||"#"===e||history.length>2||(history.replaceState({id:"home"},"","#"),history.pushState({id:"home"},"","#"),history.pushState({},"",e))}}(w.ext,w.__module__("pushStart")),async function(e){e.userinfo=new function(){this.key="userinfo",this.get=()=>w.storage.jget(this.key),this.set=e=>{w.storage.jset(this.key,e)},this.remove=()=>{w.storage.remove(this.key)}}}(w.ext,w.__module__("userinfo")),async function(e){function t(e){if(!e||"object"!=typeof e)return"";let t=[];for(let n in e)t.push(`${n}=${encodeURIComponent(e[n])}`);return t.join("&")}let n=["GET","POST","PUT","DELETE","OPTIONS","HEAD","TRACE","PATCH"],r={};function o(e=null){let t={ok:!1,status:0,data:null,statusText:"",headers:{},error:e,exec:e=>{if(!e||"object"!=typeof e)return w.notifyTopError("你需要传递一个object，使用success、fail、onError函数来接收不同状态。"),!1;t.ok?e.success&&"function"==typeof e.success&&e.success({ok:!0,status:t.status,data:t.data,headers:t.headers}):t.error?e.onError&&"function"==typeof e.onError&&e.onError({ok:!1,status:t.status,error:t.error}):e.fail&&"function"==typeof e.fail&&e.fail({ok:!1,status:t.status,headers:t.headers,data:t.data})}};return t}window.__request_lock_timer__||(window.__request_lock_timer__=setInterval((()=>{for(let e in r){let t=r[e],n=Date.now();n-t.time>t.minTime&&n-t.logTime>=50*t.minTime&&delete r[e]}}),5e3));const i=await require("token");e.apicall=async function(a,s={},l=0){if("object"==typeof a&&null!==a&&(a=(s=a).url,delete s.url,l&&"number"==typeof l||(l=0)),!a||"string"!=typeof a)return console.error(a,s),o(new Error("api不是合法的字符串"));if(s.mode="cors",void 0===s.dataType&&(s.dataType="json"),void 0!==s.headers&&s.headers&&"object"==typeof s.headers||(s.headers={}),(void 0===s.retry||"number"!=typeof s.retry||s.retry<3)&&(s.retry=0),void 0!==s.retryDelay&&"number"==typeof s.retryDelay||(s.retryDelay=100),0!==a.indexOf("http")&&(a=`${w.host}${a}`),s.query){let e=t(s.query);a.indexOf("?")>0?a+="&"+e:a+="?"+e}if(s.method&&(n.indexOf(s.method)<0&&(s.method=s.method.toUpperCase()),n.indexOf(s.method)<0))return o(new Error("未知请求方法"));let c=`${s.method} ${a}`,u=w.config.requestTimeSlice&&!isNaN(w.config.requestTimeSlice)?w.config.requestTimeSlice:50;u<1&&(u=10),u>6e5&&(u=6e5);let f=Date.now();if(r[c]){if(f-r[c].time<u){let e=o(new Error("请求太频繁"));return e.status=-429,e.data="请求太频繁",e}r[c].time=f,r[c].logTime+=5}if(r[c]={time:f,minTime:u,logTime:f},s.method&&s.body){let e=typeof s.body;s.headers["content-type"]||(s.form&&"object"===e?s.headers["content-type"]="application/x-www-form-urlencoded":"object"===e&&!(s.body instanceof FormData)||"string"===e&&"{[".indexOf(s.body[0])>=0?s.headers["content-type"]="application/json":"string"===e&&(s.headers["content-type"]="text/plain"));let n=s.headers["content-type"]||"";if("application/x-www-form-urlencoded"===n)s.body=t(s.body);else switch(n){case"text/json":case"application/json":"object"===e&&(s.body=JSON.stringify(s.body))}}let d=i.get();d&&!s.headers.authorization&&(s.headers.authorization=d.token);let h=o(),y="";if(await fetch(a,s).then((e=>(h.ok=e.ok,h.status=e.status,h.statusText=e.statusText,h.headers=e.headers,e.ok&&"blob"===s.dataType?e.blob():e.text()))).then((e=>{if(y=e,"json"===s.dataType)try{h.data=JSON.parse(e)}catch(t){h.data=e}else h.data=e;return h})).catch((e=>{h.error=e})),!h.ok&&(!s.retry||l>=s.retry)&&w.config.requestError&&"object"==typeof w.config.requestError){let e;e=0==h.status&&w.config.requestError.failed?w.config.requestError.failed:w.config.requestError[h.status],!e||"function"!=typeof e||s.fail&&"function"==typeof s.fail||e.bind(w.config)(h)}if(!h.ok){if(401==h.status&&await i.refresh(!0))return s.headers&&s.headers.authorization&&delete s.headers.authorization,e.apicall(a,s,s.retry);if(l>0&&s.retry>0&&l<s.retry&&[401,403].indexOf(h.status)<0)return s.retryDelay>0?await new Promise(((e,t)=>{setTimeout(e,s.retryDelay)})):u>0&&await new Promise(((e,t)=>{setTimeout(e,u)})),e.apicall(a,s,l+1)}return h.ok?s.success&&"function"==typeof s.success&&s.success(h):h.error?s.error&&"function"==typeof s.onError?s.onError(h):s.notify&&w.notify(err.message,{ntype:"error"}):s.fail&&"function"==typeof s.fail?s.fail(h):s.notify?w.notify(`${h.status}: ${h.statusText}<br>${y}`,{ntype:"error",timeout:5e3}):h.data=y,h};let a=e.apicall;["GET","POST","DELETE","PUT","PATCH"].forEach((e=>{a[e.toLowerCase()]=async function(t,n={}){if("object"==typeof t&&null!==t?(t=(n=t).url,delete n.url):n&&"object"==typeof n||(w.alertError(" options is not object."),n={}),n.method=e,"P"===e[0]&&!n.body){let e=new Error("未添加请求body数据。");return alertError(e.message),o(e)}return a(t,n)}}))}(w.ext,w.__module__("apicall")),async function(){w.__module__("ejson").exports=function(e){return"string"==typeof e?encodeURIComponent(e):encodeURIComponent(JSON.stringify(e))}}(w.ext),async function(){w.__module__("djson").exports=function(e){if("string"==typeof e){let t=null;try{t=decodeURIComponent(e)}catch(n){t=e}try{return JSON.parse(t)}catch(e){}}return e}}(w.ext),async function(e,t){const n=new HtmlSyntaxState;function r(e,t=!0){return!(e.indexOf("<")>=0||e.indexOf(">")>=0)||!t&&n.parse(e)?e:e.replaceAll("<","&lt;").replaceAll(">","&gt;")}function o(e,t,n=!0){let o=0,i=[],a="",s="";for(let l of e)i.push(l),o<t.length&&(s=t[o],a="string"==typeof s?r(s,n):s,i.push(a),o++);return i.join("")}function i(e,...t){return o(e,t,!1)}i.ehtml=(e,...t)=>o(e,t,!0),t.exports=i}(w.ext,w.__module__("htmltag")),async function(){w.__module__("timestr").exports=function(e={}){e&&"object"==typeof e||(e={});let t=e.time||null,n=e.mode||"long",r=e.ds||" ",o=e.time_ds||":";t?isNaN(t)||(t=new Date("string"==typeof t?parseInt(t):t)):t=new Date;let i=t.getFullYear(),a=t.getMonth()+1,s=t.getDate(),l=t.getHours(),c=t.getMinutes(),u=t.getSeconds(),f=`${i}-${a>9?"":"0"}${a}-${s>9?"":"0"}${s}`;if("short"===n)return f;let d=`${f}${r}${l>9?"":"0"}${l}${o}${c>9?"":"0"}${c}`;return"middle"===n?d:`${d}${o}${u>9?"":"0"}${u}`}}(w.ext),async function(){function e(e,t=null){let n=this.querySelector(e);return n?(t&&"function"==typeof t&&t(n),n):null}function t(e,t=null){let n=this.querySelectorAll(e);return t&&"function"==typeof t&&n.forEach(t),n}window.Element&&"function"==typeof window.Element&&window.Element.prototype&&(window.Element.prototype.query=e,window.Element.prototype.queryAll=t),window.DocumentFragment&&"function"==typeof window.DocumentFragment&&window.DocumentFragment.prototype&&(window.DocumentFragment.prototype.query=e,window.DocumentFragment.prototype.queryAll=t)}(w.ext,w.__module__("querybind")),async function(){"use strict";Object.defineProperty(Array.prototype,"renders",{value:function(e,t="",n=""){if(!e||"function"!=typeof e)return w.debug&&w.notifyTopError("renderHTML: callback必须是一个函数"),"";return`${t}${this.map(e).join("")}${n}`},enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(Object.prototype,"renders",{value:function(e,t="",n=""){if(!e||"function"!=typeof e)return w.debug&&w.notifyTopError("renderHTML: callback必须是一个函数"),"";let r=[];for(let t in this)r.push(e(this[t],t)||"");return`${t}${r.join("")}${n}`},enumerable:!1,writable:!1,configurable:!1})}(w.ext,w.__module__("renders")),async function(e){e.storageEvent=new function(){this.events=["set","remove"],this.eventMap={},this.idMap={},this.frequency=500,this._initEventMap=function(e){this.eventMap[e]={},this.events.forEach((t=>{this.eventMap[e][t]=[]})),"@all"===e&&(this.eventMap[e].clear=[])},this._setEventHandle=function(e,t,n){let r=this.eventMap[e][t];if(r.length>=10)return!n.quiet&&w.alertError("每个storage事件最多允许注册10个处理函数。"),!1;for(let e of r)if(n.name&&e.name===n.name||n.callback===e.callback)return!1;return r.push(n),!0},this._addHandle=function(e,t){this.eventMap[e]||this._initEventMap(e);let n=`${Date.now()}${Math.random().toString(16).substring(2)}`,r=0;if("all"===t.type){if(this.events.forEach((n=>{!1===this._setEventHandle(e,n,t)&&(r+=1)})),r===this.events.length)return!1}else{if(this.events.indexOf(t.type)<0&&"clear"!==t.type)return!1;if(!1===this._setEventHandle(e,t.type,t))return!1}return t.id=n,this.idMap[n]=e,n},this.register=function(e){return"object"!=typeof e?(w.alertError("storageEvent注册事件参数必须为object"),!1):e.callback&&"function"==typeof e.callback?(null==e.mode&&(e.mode="always"),void 0===e.quiet&&(e.quiet=!1),e.type||(e.type="all"),"clear"===e.type?this._addHandle("@all",e):(void 0===e.key&&(e.key=""),void 0===e.name&&(e.name=`${w.curpagename}-${e.key||"@all"}-${e.type}`),!!e.test||(""===e.key?this._addHandle("@all",e):this._addHandle(e.key,e)))):(w.alertError("storageEvent注册事件callback必须为函数。"),!1)},this._run=async function(e,t,n){if(!this.eventMap[e]||!this.eventMap[e][t])return!1;let r,o=this.eventMap[e][t],i=[];for(let t of o){if(r="AsyncFunction"===t.callback.constructor.name?await t.callback(n):t.callback(n),"once"===t.mode&&i.push(t.id),"::stop::"===r)break;if("::remove::"===r){w.storage.remove(e);break}if("::clear::"===r){w.storage.set(`::clear::${e}-${Date.now()}`,"1"),w.storage.remove(e);break}}i.forEach((e=>{this.removeHandle(e)}))},this.removeHandle=function(e,t=""){let n,r="id";if(e.indexOf("-")<0){if(n=this.idMap[e],!n)return!1}else{let o=e.split("-").filter((e=>e.length>0));if(3!==o.length)return!1;n=o[1],t=o[2],r="name"}let o=this.eventMap[n];if(!o)return!1;for(let n in o)if(""===t||n===t)for(let t=0;t<o[n].length;t++)if(o[n][t][r]===e){o[n].splice(t,1);break}return!0},this.frequencyRecord={},this.handle=async function(e){let t=new URL(e.url),n={type:null===e.key?"clear":null===e.newValue?"remove":"set",event:e,data:e.newValue,key:e.key,page:t.hash,path:t.pathname,self:t.hash===location.hash&&location.pathname===t.pathname,stop:()=>"::stop::",clear:()=>"::clear::",remove:()=>"::remove::"};if(this.frequency<=0)return this._run(n.key||"@all",n.type,n);let r=Date.now(),o=`${n.key||"@all"} ${n.type}`;if(n.key){let e="::clear::"+n.key,t=w.storage.getPre(e);if(t.length>0)return void t.forEach((e=>{w.storage.remove(e)}))}void 0===this.frequencyRecord[o]&&(this.frequencyRecord[o]={tm:r-this.frequency,timer:null,data:null});let i=this.frequencyRecord[o];i.data=n,i.timer||(i.timer=setTimeout((()=>{let e=i.data;this._run(e.key||"@all",e.type,e),i.timer=null,i.data=null,i.tm=r}),this.frequency))}},window.addEventListener("storage",e.storageEvent.handle.bind(e.storageEvent))}(w.ext,w.__module__("storageEvent"));</script>
  <script>'use strict';(async()=>{"use strict";class e extends Component{constructor(){super(),this.realRender=this.renderMenus,this.properties={mode:{type:"string",limit:["horizonal","vertical"],default:"horizonal"}},this.menuTable={}}init(){}getMenus(){let e=this.attrs.menus||[];return Array.isArray(e)||(e=[]),e.length<=0&&(e=w.share.menus,e&&Array.isArray(e)||(e=[])),e.forEach((e=>{this.menuTable[e.url]=e})),e}render(){let e=this.getMenus(),t=null;return"vertical"===this.attrs.mode&&(t="vertical",this.realRender=this.renderSlideMenus),this.plate(t,{menus:this.realRender(e)})}afterRender(){this.attrs.notexit&&"true"===this.attrs.notexit&&this.setAttr({logout:{style:"visibility:hidden;"}}),this.view({submenus:""}),this.attrs.logourl?this.view({userlogo:`<user-info mode="logo" autouser="${this.attrs.logourl}" url="${this.attrs.logourl}"></user-info>`}):this.view({userlogo:'<user-info mode="logo" autouser="user"></user-info>'})}onload(){}onremove(){}onattrchange(e,t,s){}onadopted(){}static get observedAttributes(){}compare(e,t){return!(!e||"string"!=typeof t)&&(w.curpagename===w.homepage&&["","#"].indexOf(t)>=0||(e===t||e===t.substring(1)))}renderMenus(e){let t="";return e.forEach((e=>{t+=`<div cell click select-none menu align-center ${this.compare(w.curpagename,e.url)?'class="menu-select"':""} data-open="${e.open||"hash"}" data-url="${e.url}" data-onclick=clickMenu>${e.name}</div>`})),t}showSubMenus(e){let t="<div row>";e.forEach((e=>{t+=`<div sm-6 md-3 lg-2 center>\n        <div click align-center data-onclick=clickMenu data-url="${e.url}">${e.name}</div>\n      </div>`})),t+="</div>",this.promptTop(t)}clickMenu(e){let t=e.target.dataset.url,s=this.menuTable[t];if(s&&s.sub)return this.showSubMenus(s.sub);this.unprompt(),w.go(e.target.dataset.url)}renderSlideMenus(e){let t="";return e.forEach((e=>{t+=`<div padidng align-center click select-none menu style="margin-top:2rem;" ${this.compare(w.curpagename,e.url)?'class="menu-select"':""} data-open="${e.open||"hash"}" data-url="${e.url}" data-onclick=clickSlideMenu>${e.name}</div>`})),t}clickSlideMenu(e){this.hideSlider(),this.clickMenu(e)}showSlideMenu(){this.sliderPage('<head-menu mode="vertical"></head-menu>')}}customElements.define("head-menu",e)})(),(async()=>{"use strict";class e extends Component{constructor(){super()}init(){}toUser(){w.go(this.attrs.url||"user")}render(){let e="3rem";this.attrs.height&&(e=this.attrs.height);let t="logo";this.attrs.mode&&["logo","full","name"].indexOf(this.attrs.mode)>=0&&(t=this.attrs.mode);let s="user.png";return this.attrs.autouser&&this.attrs.autouser===w.curpagename&&(s="user-select.png"),"full"===t?this.plate({userinfo:this.makeView(t,s)}):this.plate({userinfo:`<div click style="height:${e};" center data-onclick=toUser>${this.makeView(t,s)}</div>`})}afterRender(){}onload(){}onremove(){}onattrchange(e,t,s){}onadopted(){}static get observedAttributes(){}makeView(e,t="user.png"){let s=`<img src="./static/${t}" style="width:1.8rem;height:1.8rem;" alt="[用户]">`;switch(e){case"logo":return s;case"name":return user.realname||user.username||s;case"full":return this.renderUser()}return s}renderUser(){let e=w.share.user;return w.config.renderUser&&"function"==typeof w.config.renderUser?w.config.renderUser(e||null):e||"user is null"}}customElements.define("user-info",e)})(),(async()=>{"use strict";class e extends Component{constructor(){super(),this.properties={list:{type:"string",default:"doclist"},small:{type:"boolean",default:!1},afterclick:{type:"string",default:""},firstget:{type:"boolean",default:!0},curkey:{type:"string",default:"curdoc"}},this.display={doclist:e=>{let t="";return e.data.forEach((e=>{t+=`<div row mtop>\n              <div c-12 click click-middle middle style="line-height:2.2rem;padding-left:10px;"   data-name="doc-chapter" class="doc-chapter" title="${e.name}" \n               data-id="${e.id}" data-onclick=showDoc>${e.name}</div>\n            </div>`})),t+='<div row mtop style="line-height:5.6rem;">\n          <div c-12 data-id="" style="color:#efefef;">&nbsp;</div>\n        </div>',t}},this.curid="",this.rendered=0}async init(){if(this.__init__)return!1;w.registerShareNotice({key:this.attrs.list,type:"set",callback:e=>{this.rendered=1,this.view({doclist:e.data}),this.curid&&this.selectChapter(this.curid)}}),w.registerShareNotice({key:this.attrs.list+"-curid",type:"set",callback:e=>{let t=e.data;if(w.share[this.attrs.list]&&!e.data){let e=w.share[this.attrs.list];t=e.length>0?e[0].id:""}this.showDoc(t)}}),this.api=await require("apicall")}render(){return this.attrs.small?this.plate("small"):this.plate()}afterRender(){let e="";if(w.share[this.attrs.list]&&!this.rendered){let t=w.share[this.attrs.list];e=t.length>0?t[0].id:"",this.view({doclist:t})}let t=this.attrs.list,s=w.storage.get(t+"-curid")||e;s&&(this.attrs.firstget&&this.showDoc(s),!this.attrs.firstget&&this.selectChapter(s))}selectChapter(e){this.queryAll("[data-name=doc-chapter]").forEach((t=>{t.dataset.id!==e?(t.style.background="",t.style.fontWeight=""):(t.style.background="#f0f1f2",t.style.fontWeight="bold")}))}showDoc(e){let t="string"==typeof e?e:e.target.dataset.id;if(!t)return!1;this.selectChapter(t),this.curid!==t&&this.getDoc(t)}async getDoc(e){this.api||(this.api=await require("apicall")),this.api.get("/self/wight-doc/"+e).then((t=>{if(t.ok){this.curid=e;let s=this.attrs.curkey||"curdoc";w.share[s]=t.data;let r=this.attrs.list;w.storage.set(r+"-curid",e)}})).then((()=>{this.selectChapter(e),this.attrs.firstget=!0})).then((()=>{this.attrs.afterClick&&w.runFunc(this.attrs.afterClick)}))}onload(){}onremove(){}onattrchange(e,t,s){}onadopted(){}static get observedAttributes(){}}customElements.define("doc-list",e)})(),(async()=>{"use strict";class e extends Component{constructor(){super(),this.properties={tag:{type:"string",default:"xxx"},mode:{limit:["mode1","mode2"],default:"mode1"}}}init(){}render(){return this.plate()}afterRender(){}onload(){}onremove(){}onattrchange(e,t,s){}onadopted(){}static get observedAttributes(){}}customElements.define("doc-content",e)})(),(async()=>{"use strict";class e extends Component{constructor(){super(),this.properties={data:{type:"urijson",default:{id:"",authorization:"authorization",name:"",host:"http://localhost:1234",is_token:"",token_api:"",login_data:"",token_api_response:{type:"json",token:"access_token",refreshToken:"refresh_token",expires:"expires",refreshExpires:"refresh_expires"}}}}}setchange(e){w.share.appchange=Date.now()}showhint(e){this.view({namehint:`${e.value.length}/50`}),e.value.length>=50&&(e.target.value=e.value.substring(0,50))}setresponseform(e){let t=this.queryAll("[data-ref=ref-json]"),s=!1;s="string"===e.value,t.forEach((e=>{e.disabled=s}))}postApp(e){w.share.appchange=0;let t={};for(let s in e.data)switch(s){case"authorization":case"name":case"host":case"token_api":case"login_data":t[s]=e.data[s],"name"===s&&e.data[s].length>50&&(t[s]=e.data[s].substring(0,50));break;case"is_token":e.data[s].length>0&&(t[s]=!0);break;case"response_type":case"response_expires":case"response_token":t.token_api_response||(t.token_api_response={}),t.token_api_response[s.replace("response_","")]=e.data[s]}e.data.id&&(t.id=e.data.id),t.token_api_response.refreshExpires="refresh_expires",t.token_api_response.refreshToken="refresh_token",w.share.postApp=t}init(){}render(){return this.plate()}afterRender(){this.attrs.data!==this.properties.data.default&&(this.view(this.attrs.data),this.view(this.attrs.data.token_api_response))}onload(){}onremove(){}onattrchange(e,t,s){}onadopted(){}static get observedAttributes(){}}customElements.define("x-app",e)})(),(async()=>{"use strict";class e extends Component{constructor(){super(),this.properties={type:{type:"string",default:"text",limit:["text","file","date","password","number"]},key:{type:"string",default:"key"},placeholder:{type:"string",default:"数据···"},control:{default:!0,type:"boolean"}},this.values={key:"",type:"text",value:""}}init(){this.shareid="xbody-"+w.randid(),this.values.type=this.attrs.type,"number"===this.attrs.type&&(this.attrs.placeholder="数字···")}render(){return this.plate()}afterRender(){this.view({formkey:`<input data-oninput="cachekey" type=text name="${this.attrs.name}" data-name="name" placeholder="${"file"===this.attrs.type?"上传名":"key值"}">`,formvalue:`<input style="width:100%;" data-onchange="cachevalue" data-name="value" name="value" type="${this.attrs.type}" placeholder="${this.attrs.placeholder}">`}),this.attrs.control||this.view({control:""})}reset(){this.view({name:"",value:""}),this.values.key="",this.values.value="",delete w.share[this.shareid]}removeData(){delete w.share[this.shareid],this.remove()}cachekey(e){this.values.key=e.value.trim(),w.share[this.shareid]=this.values}cachevalue(e){"file"===this.attrs.type?this.values.value=e.files:this.values.value=e.value,w.share[this.shareid]=this.values}onload(){}onremove(){}onattrchange(e,t,s){}onadopted(){}static get observedAttributes(){}}customElements.define("x-body",e)})();</script>
  <script>'use strict';</script>
  <script>'use strict';!async function(t,e){const i=await require("apicall");t(class{constructor(){this.display={applist:t=>{if(!t.data||0===t.data.length)return"当前没有在开发的应用";return`<p><strong>${t.data.map((t=>`<a click target=_blank blue href="/${t}">${t}</a>`)).join("</strong></p><p><strong>")}</strong></p>`},netinfo:t=>{if("string"==typeof t.data)return t.data;let e="";for(let i in t.data)e+=`<strong>${i}:</strong>`,t.data[i].forEach((t=>{e+=`<div style="padding-left:1rem;margin-top:0.85rem;">\n              <div>IP地址：${t.address}</div>\n              ${t.cidr?"<div>CIDR: "+t.cidr+"</div>":""}\n              ${t.netmask?"<div>子网掩码："+t.netmask+"</div>":""}\n            </div>`})),e+="<br>";return e}}}async onload(t){i.get("/self/control/applist").then((t=>{t.ok&&this.view({applist:t.data})})),i.get("/self/control/netinfo").then((t=>{t.ok?this.view({netinfo:t.data}):this.view({netinfo:'<p style="color:#df2345;">未能获取网络连接情况</p>'})}))}async onshow(t){}onhide(){}onunload(){}onbottom(){}onscroll(t,e,i){}}),e.home.orgHTML='<div container><head-menu logourl="self"></head-menu></div><div container><div row><div sm-12 lg-1></div><div sm-12 md-5 lg-4 mtop-2><h4>正在开发中的应用</h4><div data-name="applist" padding></div></div><div sm-12 md-6 lg-5 mtop-2><h4>当前设备网络信息</h4><div data-name="netinfo" padding style="overflow-y: auto;max-height: 60vh;"></div></div><div sm-12 lg-1></div></div></div>'}(w.__bindpage__("home"),w.pages),async function(t,e){"use strict";const i=await require("apicall");t(class{constructor(){this.display={}}async onload(t){w.registerShareNotice({type:"set",key:"curdoc",callback:t=>{this.view({content:t.data.data+"<div mtop-2 mbottom></div>"}),this.queryAll("a",(t=>{t.target="_blank"})),this.queryAll("blockquote",(t=>{t.style.cssText="padding:0.5rem;background:#f1f2f3;"})),this.queryAll("code",(t=>{hljs.highlightElement(t)})),setTimeout((()=>{let t=this.query("[data-name=contentbox]");t.scrollTop=0,t.queryAll("tr",(t=>{if(t.style.borderBottom="solid 0.5px #efefef",t.children){let e=0;t.children.length;for(let i of t.children)e>0&&(i.style.borderLeft="solid 0.5px #efefef"),e++}})),t.queryAll("pre",(t=>{t.style.cssText="padding:0;"}))}),20)}}),i.get("/self/wight-doc?group=framework").then((t=>{t.ok&&(w.share.doclist=t.data)}))}async onshow(t){}onhide(){}onunload(){}onbottom(){}onscroll(t,e,i){}ontop(){}onresize(){}showSmallMenus(){w.promptMiddle(`<doc-list afterclick="pages.${this.__name__}.closeMenus" firstget=false small=true></doc-list>`),""===this.query("[data-name=content]").innerHTML.trim()&&(w.share["doclist-curid"]="")}closeMenus(){w.hideSlider(),w.unprompt()}}),e.doc.orgHTML='<div container mbottom><head-menu logourl="self"></head-menu></div><div container mtop><div row><div lg-0-5 show-large-only></div><div sm-12 md-3 lg-2 show-middle-plus><doc-list list="doclist"></doc-list></div><div sm-12 md-9 lg-9 row data-name="contentbox" style="z-index: 9;position: fixed;right:0.1%;height: 89%;overflow-y: auto;padding-right:0.5rem;padding-left: 1.5rem;padding-bottom: 1.1rem;"><div data-name="content" c-12 style="padding:0 0.25rem;padding-right: 1rem;line-height: 1.8;"><div show-small-only>wight框架官方文档，小屏显示请点击下方按钮选择章节。</div></div></div><div sm-12 md-0-5 lg-0-5></div></div></div><div container mtop><div row><div sm-12 show-small-only align-center style="z-index: 10;position: fixed;bottom:2.5%;left:0;"><img data-onclick="showSmallMenus" click src="/wy-wxm-ww-ok/wight-app/static/icon/clist.png" alt="|||" icon-large></div></div></div>'}(w.__bindpage__("doc"),w.pages),async function(t,e){"use strict";const i=await require("apicall");t(class{constructor(){}async onload(t){w.registerShareNotice({type:"set",key:"curguide",callback:t=>{this.view({content:t.data.data+"<div mtop-2 mbottom></div>"}),this.queryAll("a",(t=>{t.target="_blank"})),this.queryAll("blockquote",(t=>{t.style.cssText="padding:0.5rem;background:#f1f2f3;"})),this.queryAll("code",(t=>{hljs.highlightElement(t)})),setTimeout((()=>{let t=this.query("[data-name=contentbox]");t.scrollTop=0,t.queryAll("tr",(t=>{if(t.style.borderBottom="solid 0.5px #efefef",t.children){let e=0;t.children.length;for(let i of t.children)e>0&&(i.style.borderLeft="solid 0.5px #efefef"),e++}})),t.queryAll("pre",(t=>{t.style.cssText="padding:0;"}))}),20)}}),i.get("/self/wight-doc?group=guide").then((t=>{t.ok&&(w.share.guidelist=t.data)}))}async onshow(t){}onhide(){}onunload(){}onbottom(){}onscroll(t,e,i){}ontop(){}onresize(){}showSmallMenus(){w.promptMiddle(`<doc-list afterclick="pages.${this.__name__}.closeMenus" list="guidelist" firstget=false small=true curkey=curguide></doc-list>`),""===this.query("[data-name=content]").innerHTML.trim()&&(w.share["guidelist-curid"]="")}closeMenus(){w.hideSlider(),w.unprompt()}}),e.guide.orgHTML='<div container mbottom><head-menu logourl="self"></head-menu></div><div container mtop><div row><div lg-0-5 show-large-only></div><div sm-12 md-3 lg-2 show-middle-plus><doc-list list="guidelist" curkey="curguide"></doc-list></div><div sm-12 md-9 lg-9 row data-name="contentbox" style="z-index: 9;position: fixed;right:0.1%;height: 89%;overflow-y: auto;padding-right:0.5rem;padding-left: 1.5rem;padding-bottom: 1.1rem;"><div data-name="content" c-12 style="padding:0 0.25rem;padding-right: 1rem;line-height: 1.8;"><div show-small-only>wight框架官方文档，小屏显示请点击下方按钮选择章节。</div></div></div><div sm-12 md-0-5 lg-0-5></div></div></div><div container mtop><div row><div sm-12 show-small-only align-center style="z-index: 10;position: fixed;bottom:2.5%;left:0;"><img data-onclick="showSmallMenus" click src="/wy-wxm-ww-ok/wight-app/static/icon/clist.png" alt="|||" icon-large></div></div></div>'}(w.__bindpage__("guide"),w.pages),async function(t,e){"use strict";const i=await require("apicall"),a=await require("ejson"),s=await require("htmltag");let o=()=>!w.share.appchange||new Promise(((t,e)=>{confirm({text:"确认取消？",dark:!0,callback:()=>{w.share.appchange=!1,t(!0)},cancel:()=>{t(!1)}})}));t(class{constructor(){this.getListTime=0,this.applist=[],this.display={applist:t=>{let e="";return t.data.forEach((t=>{e+=s`<div style="margin-bottom:1rem;line-height:1.5;">
            <strong>${t.name}</strong>
            <div>${t.host}</div>
            <div>with token: ${t.is_token?"true":"false"}</div>
            <div>login url: ${t.token_api}</div>
            <div row lh2>
              <div c-3>
                <div middle click blue data-onclick=startapp data-data="${a(t)}">
                  进入
                </div>
              </div>
              <div c-3>&nbsp;</div>
              <div c-3 align-right>
                <div middle click data-onclick=editapp data-data="${a(t)}">编辑</div>
              </div>
              <div c-3 align-right>
                <div middle click data-onclick=deleteapp data-id="${t.id}" red>删除</div>
              </div>
            </div>
          </div>`})),e}}}deleteapp(t){let e=t.target.dataset.id;confirm({text:"确定要删除应用？",callback:()=>{i.delete("/self/control/server/"+e).then((t=>{if(!t.ok)return notifyTopError(t.data);this.showList()}))}})}editapp(t){let e=t.target.dataset.data;this.createApp(e)}createApp(t=""){promptMiddle(`<div row>\n        <div sm-12 md-1 lg-1></div>\n        <div sm-12 md-10 lg-10>\n          <x-app${t?' data="'+t+'"':""}></x-app>\n        </div>\n        <div sm-12 md-1 lg-1></div>\n      </div>`,{unpromptHandle:o})}async onload(t){w.registerShareNotice({key:"postApp",mode:"set",callback:t=>{if(!t.data)return!1;t.data.id?i.put("/self/control/server/"+t.data.id,{body:t.data}).then((t=>{if(!t.ok)return w.notifyTopError(t.data);w.notifyTop("已更新"),unprompt(),this.showList()})):i.post("/self/control/server",{body:t.data}).then((t=>{if(!t.ok)return w.notifyTopError(t.data);w.notifyTop("已创建"),unprompt(),this.applist.unshift(t.data),this.view({applist:this.applist})}))}})}showList(){let t=Date.now();t-this.getListTime<5e3||(this.getListTime=t,i.get("/self/control/server").then((t=>{t.ok&&(this.applist=t.data.sort(((t,e)=>t.update_time===e.update_time?e.create_time-t.create_time:e.update_time-t.update_time))),t.ok&&this.view({applist:this.applist})})))}async onshow(t){this.showList()}startapp(t){let e=w.storage.get("cur-request");e&&t.target.dataset.data!==e&&(w.share.refreshRequest=!0),w.storage.set("cur-request",t.target.dataset.data),window.open("#request")||(w.notifyTop("浏览器阻止了打开新窗口，将在当前页面打开"),w.go("request"))}onhide(){}onunload(){}onbottom(){}onscroll(t,e,i){}ontop(){}onresize(){}}),e.backend.orgHTML='<div container><head-menu logourl="self"></head-menu></div><div container mtop><div row><div sm-12 lg-0-5></div><div sm-12 md-7 lg-6><div row mbottom><div cell><strong>API应用</strong></div><div cell align-right><img src="/wy-wxm-ww-ok/wight-app/static/icon/add.png" data-onclick="createApp" click icon alt="创建" title="点击创建应用"></div></div><div data-name="applist" padding-0-25\n        style="max-height: 60vh;overflow-y: auto;background: #f3f4f5;height: 60vh;padding:0.5rem;"></div></div><div sm-12 md-5 lg-5 padding><div style="color:#efefef;font-size: 256%;" select-none>待发布功能</div></div><div sm-12 lg-0-5></div></div></div>'}(w.__bindpage__("backend"),w.pages),async function(t,e){"use strict";t(class{constructor(){}async onload(t){}async onshow(t){}onhide(){}onunload(){}onbottom(){}onscroll(t,e,i){}ontop(){}onresize(){}}),e.server.orgHTML="<div container><head-menu></head-menu></div><div container><div row><div sm-12 md-1 lg-2></div><div sm-12 md-10 lg-8 mtop-2></div><div sm-12 md-1 lg-2></div></div></div>"}(w.__bindpage__("server"),w.pages),async function(t,e){"use strict";const i=await require("apicall");t(class{constructor(){}renderWight(t){this.view({wight:t.data+"<div mtop-2 mbottom></div>"}),this.queryAll("a").forEach((t=>{t.target="_blank"})),this.queryAll("blockquote").forEach((t=>{t.style.cssText="padding:0.5rem;background:#f1f2f3;"})),this.queryAll("code").forEach((t=>{hljs.highlightElement(t)})),queueMicrotask((()=>{this.queryAll("pre",(t=>{t.style.cssText="padding:0;"}))}))}async onload(t){i.get("/self/wight-doc/self").then((t=>{t.ok&&this.renderWight(t.data)}))}async onshow(t){}onhide(){}onunload(){}onbottom(){}onscroll(t,e,i){}ontop(){}onresize(){}}),e.self.orgHTML='<div container><head-menu logourl="self"></head-menu></div><div container><div row><div sm-12 md-1 lg-2></div><div sm-12 md-10 lg-8 mtop-2><div data-name="wight"></div></div><div sm-12 md-1 lg-2></div></div></div>'}(w.__bindpage__("self"),w.pages),async function(t,e){"use strict";const i=await require("htmltag"),a=await require("ejson"),s=await require("apicall"),o=await require("djson"),d=await require("timestr");let r=["GET","POST","PUT","DELETE","PATCH"];t(class{constructor(){this.apidata=null,this.logindata=null,this.requestRecord={},this.lastScroll=0,this.setHead=!1,this.historyTable={},r.forEach((t=>{this.requestRecord[t]={},this.historyTable[t]=[]})),this.curMethod="",this.curForm={},this.curToken=null,this.display={methods:t=>{let e="";return t.data.forEach(((t,a)=>{e+=i`<div cell padding>
            <div middle lh2 select-none click click-middle align-center data-class="methods" data-method="${t}"
              style="${"border-top-left-radius:2rem;border-top-right-radius:2rem;border-bottom-left-radius:2rem;border-bottom-right-radius:2rem;padding:0 0.2rem;"}${0===a?"font-weight:bold;background:#e94567;":""}"
              data-onclick="changeMethod setMethodMenu">
              ${t}
            </div>
          </div>`})),e}}}setTitle(t){t.target.title=t.target.value}showOrDisplayBody(){["P","D"].indexOf(this.curMethod[0])>=0?(this.queryAll("[data-group=requestbody]",(t=>{t.style.cssText="overflow-y: auto;max-height: 38vh;padding:0.55rem 0.2rem;"})),this.query("[data-name=getnobody]",(t=>{t.style.cssText="display:none;visibility:hidden;",t.innerHTML=""}))):(this.queryAll("[data-group=requestbody]",(t=>{t.style.cssText="visibility:hidden;display:none"})),this.query("[data-name=getnobody]",(t=>{t.style.cssText="color:#efefef;user-select:none;",t.innerHTML='<div style="font-size:300%;">GET 请求</div><p style="font-size:200%">无请求体数据</p>'})))}changeMethod(t){this.curMethod="string"==typeof t&&r.indexOf(t)>=0?t:t.target.dataset.method,this.showOrDisplayBody()}setMethodMenu(t){let e="string"==typeof t?t:t.target.dataset.method;this.queryAll("[data-class=methods]",(t=>{t.style.background="",t.style.fontWeight="normal",t.dataset.method===e&&(t.style.background="#e94567",t.style.fontWeight="bold")})),this.showOrDisplayBody()}async onload(t){this.newbody(),w.registerShareNotice({key:"xbody-*",type:["set","delete"],callback:t=>{switch(t.type){case"set":this.curForm[t.key]=t.data;break;case"delete":delete this.curForm[t.key]}}}),w.share.refreshRequest&&(this.apidata=null,delete w.share.refreshRequest),!this.curMethod&&(this.curMethod=r[0]),setTimeout((()=>{this.getHistory()}),10)}getHistory(){s.get("/self/control/server/history/"+this.apidata.id).then((t=>{if(t.ok)for(let e in t.data)this.historyTable[e]=t.data[e]}))}dologin(){let t=this.apidata.token_api;if(/^https?:\/\//.test(t)||(t=`${this.apidata.host}${t}`),!this.logindata)return notifyTopError("没有登录数据",3500);s.post(t,{body:this.logindata}).then((t=>{if(!t.ok)return notifyTopError(`<p>登录验证失败</p><div>${t.status}</div><div>${t.text()}</div>`);this.setToken(t.data)}))}setToken(t){if(!this.apidata)return!1;let e=this.apidata.token_api_response;return e&&"object"==typeof e?"string"===e.type?(this.curToken=t,this.view({token:t}),!0):t[e.token]?(this.curToken=t[e.token],this.curExpires=isNaN(e.expires)?t[e.expires]:e.expires,"string"==typeof this.curExpires&&(this.curExpires=parseInt(this.curExpires)),void this.view({token:this.curToken})):notifyTopError("返回值不包含应用设置的token属性，请检查设置项"):notifyTopError("设置应用数据有错误，不是object类型")}cachetoken(t){t.value&&t.value.trim()&&(this.curToken=t.value.trim())}backtoserver(){w.go("backend")}async onshow(t){w.naviGlass("<div data-onclick=backtoserver click click-small btn-circle inset-shadow>返回</div>"),this.view({methods:r}),this.setMethodMenu(this.curMethod);let e=w.storage.get("cur-request");if(!e&&!this.apidata)return notify("未找到数据"),w.redirect("backend");if(e){this.apidata=o(e);try{this.apidata.login_data&&(this.apidata.login_data=JSON.parse(this.apidata.login_data)),this.logindata=Array.isArray(this.apidata.login_data)?this.apidata.login_data[0]:this.apidata.login_data}catch(t){}}let i=this.apidata.name.trim();i.length>23&&(i=i.substring(0,20)+"..."),this.view({loginurl:"登录URL："+this.apidata.token_api,loginselect:this.renderLoginData(this.apidata.login_data),apiname:i}),w.attachTitle("-"+this.apidata.name)}cachelogindata(t){this.logindata=o(t.data)}renderLoginData(t){if(!t)return"";try{let e="object"!=typeof t?JSON.parse(t):t;Array.isArray(e)||(e=[e]);let s="";for(let t of e)s+=`<option value="${a(t)}">${JSON.stringify(t)}</option>`;return i`<select style="width:100%;" data-onchange=cachelogindata data-name=logindata>${s}</select><div mtop align-center><button type="button" data-onclick=dologin>获取token</button></div>`}catch(t){return console.error(t),'<div style="color:#df4567;">数据错误，请重新设置登录数据。</div>'}}newbody(){let t={text:"-success",file:"-warning",number:"btn-ok",password:"btn-none"},e="";for(let i in t)e+=`<div cell style="padding:0.25rem 0.1rem;">\n        <button type="button" data-type="${i}" data-onclick="addBody" class="${t[i]}">+${i}</button>\n      </div>`;this.view({newbody:e})}addBody(t){this.query("[data-name=bodybox]",(e=>{e.insertAdjacentHTML("beforeend",`<x-body type="${t.target.dataset.type}"></x-body>`),setTimeout((()=>{e.scrollTop=e.scrollHeight+e.clientHeight}),90)}))}parseHeaders(t){let e=t.trim().split("\n").filter((t=>t.length>0)),i={};return e.forEach((t=>{let e=t.indexOf(":");if(e<0)return!1;i[t.substring(0,e).trim()]=t.substring(e+1).trim()})),i}makeBody(t){let e,i=0,a=!1;for(let t in this.curForm)if(i++,"file"===this.curForm[t].type){a=!0;break}if(i<=0)return"DELETE"===t?null:notifyTopError("没有提交body数据");if(a){let t=new FormData;for(let i in this.curForm)if(e=this.curForm[i],"file"===e.type)for(let i of e.value)t.append(e.key||"file",i);else t.append(e.key||"data",e.value);return{ctype:"multipart",data:t}}{let t,i={};for(let a in this.curForm)e=this.curForm[a],t=e.key||"data",void 0===i[t]?i[t]=e.value:Array.isArray(i[t])?i[t].push(e.value):i[t]=[i[t],e.value];return{ctype:"json",data:i}}}request(t){if(this.requestLock)return!1;this.requestLock=!0;let e=t.data.url.trim();"/"!==e[0]&&(e=`/${e}`);let i,a=/^https?:\/\//.test(e)?e:`${this.apidata.host}${e}`,o=this.parseHeaders(t.data.headers),r=this.curMethod[0],n=this.curMethod.toLowerCase();o[this.apidata.authorization]=this.curToken;let l="<div>请求失败，可能存在网络问题或跨域(CORS)问题，请开启浏览器调试工具查看相关错误</div>";notifyTop("正在准备发起请求···",500);let h=t.data.headers.trim();for(let t=0;t<this.historyTable[this.curMethod].length;t++)if(h===this.historyTable[this.curMethod][t].headers&&this.historyTable[this.curMethod][t].url===e){this.historyTable[this.curMethod].splice(t,1);break}if(this.historyTable[this.curMethod].unshift({url:e,headers:h,time:d()}),this.historyTable[this.curMethod].length>300&&(this.historyTable[this.curMethod]=this.historyTable[this.curMethod].slice(0,300)),this.syncHistoryTimer||(this.syncHistoryTimer=setTimeout((()=>{this.syncHistory(!0)}),1e4)),"P"===r||"D"===r&&Object.keys(this.curForm).length>0){try{if(i=this.makeBody(this.curMethod),!i)return this.requestLock=!1,!1}catch(t){return this.requestLock=!1,notifyTopError(t.message)}notifyTop("发起请求···",1e3),s[n](a,{headers:o,body:i.data}).then((t=>{if(0===t.status)return notifyTopError(t.error?t.error.message+l:l);this.curResponse=t,this.renderResponse(t)})).catch((t=>{console.error(t)})).finally((()=>{this.requestLock=!1}))}else notifyTop("发起请求···",1e3),s[n](a,{headers:o}).then((t=>{if(0===t.status)return notifyTopError(t.error?t.error.message+l:l);this.curResponse=t,this.renderResponse(t)})).catch((t=>{console.error(t)})).finally((()=>{this.requestLock=!1}))}renderResponse(t){let e="";for(let i of t.headers)e+=`${i[0]}: ${i[1]} \n`;this.view({statusCode:t.status,responseHeaders:e}),this.query("[data-name=statusCode]",(e=>{t.status>=400&&(e.style.color="#df2345"),t.status<400&&(e.style.color="")}));let i=t.headers.get("content-type");i?0===i.indexOf("text/")?this.view({responseResult:t.data}):0===i.indexOf("application/json")?this.fmtResult({target:this.query("[data-onclick=fmtResult]")}):0===i.indexOf("image/")?this.view({responseResult:"[图片文件]"}):0===i.indexOf("audio/")?this.view({responseResult:"[音频文件]"}):0===i.indexOf("video/")?this.view({responseResult:"[视频文件]"}):0===i.indexOf("font/")?this.view({responseResult:"[字体文件]"}):this.view({responseResult:"[二进制数据]"}):this.view({responseResult:t.data.toString()})}fmtResult(t){if(!this.curResponse)return!1;let e=this.curResponse.data,i=this.curResponse.headers.get("content-type");if(!i)return notifyTopError("返回结果未明确数据类型，无法格式化");if(0===i.indexOf("application/json"))try{"string"==typeof e&&(e=JSON.parse(e)),this.view({responseResult:this.fmtJSON(e)}),this.curResultFormat="fmt",this.queryAll("[data-fmt=result]",(t=>{t.style.background=""})),t.target.style.background="#35a59a"}catch(t){return notifyTopError(t.message)}}sourceResult(t){if(!this.curResponse)return!1;let e=this.curResponse.headers.get("content-type");if(!e||0!==e.indexOf("application/json"))return!1;this.curResultFormat="source";let i=this.curResponse.data;this.view({responseResult:"string"==typeof i?i:JSON.stringify(i)}),this.queryAll("[data-fmt=result]",(t=>{t.style.background=""})),t.target.style.background="#56d0c9"}fmtCRLF(t){if("string"!=typeof t)return t;let e=t.split("\n");return e.length<2?t:e.join("\\n")}recurJSONText(t,e=""){if(null===t)return e+"null";let i="";if(Array.isArray(t)){i="[\n";let a=[];for(let i of t)"object"!=typeof i?a.push(e+"  "+this.fmtCRLF(i)):a.push(e+"  "+this.recurJSONText(i,e+"  "));i+=a.join(",\n"),i+=`\n${e}]`}else{if("object"!=typeof t)return e+t;{i="{\n";let a=[];for(let i in t)"object"!=typeof t[i]?a.push(`${e+"  "}${i}: ${this.fmtCRLF(t[i])}`):a.push(`${e+"  "}${i}: `+this.recurJSONText(t[i],e+"  "));i+=a.join(",\n"),i+=`\n${e}}`}}return i}fmtJSON(t){return"object"!=typeof t?t:this.recurJSONText(t)}setHistory(t){let e="string"==typeof t?t:t.target.dataset.data;if(!e)return!1;let i=o(e);unprompt(),this.view({headers:i.headers,url:i.url})}renderHistory(t){let e="";return"P"===this.curMethod[0]&&(e+="<div bold gray lh2>注意：历史记录不会记录请求体数据，请自行设置。</div>"),t.forEach((t=>{e+=i`<div row mtop padding style="border-bottom:solid 1px #efefef;">
        <div c-12 bold click data-data="${a(t)}" data-onclick=setHistory>${t.url}</div>
        <div c-12 small gray>${"<div>"+t.headers.split("\n").join("</div><div>")+"</div>"}</div>
        <div c-12 tiny gray>${t.time}</div>
      </div>`})),e}history(){let t=this.historyTable[this.curMethod];if(!t)return!1;promptMiddle(this.renderHistory(t))}syncHistory(t=!1){return!!this.apidata&&(!t&&this.syncHistoryTimer&&clearTimeout(this.syncHistoryTimer),this.syncHistoryTimer=null,s.put("/self/control/server/history/"+this.apidata.id,{body:this.historyTable}))}onhide(){w.naviHide(),this.syncHistory()}onbeforeunload(){let t=this.syncHistory();t&&t.catch((t=>{}))}onunload(){}ontop(){}onscroll(t,e,i){}}),e.request.orgHTML='<div container row data-name="head" style="border-bottom: solid 2px #e5e5e5;"><div md-0-5 lg-0-5></div><div sm-12 md-5 lg-3><div bold style="font-size: 123%;padding:0.15rem 0;">HTTP API 测试</div></div><div sm-12 md-6 lg-8><div style="font-size: 123%;padding:0.15rem 0;" data-name="apiname"></div></div></div><div container row mtop-0-5><div md-0-5 lg-0-5></div><div sm-12 md-11 lg-11 style="margin-top:0.25rem; background: #4f4f4f;color:#f1f2f3;" row><div sm-12 md-6 lg-5 style="padding:0.35rem 0.28rem;"><div data-name="loginurl" style="line-height: 1.5;"></div><div data-name="loginselect"></div></div><div sm-12 md-6 lg-7 style="padding:0.35rem 0.28rem;"><div bold>access_token</div><div><textarea spellcheck="false" name="token" data-name="token" data-onchange=cachetoken style="width: 100%;height: auto;min-height: 15vh;" placeholder="可复制已有token到此"></textarea></div></div></div><div md-0-5 lg-0-5></div></div><div container row style="margin-top: 0.5rem;"><div md-0-5 lg-0-5></div><div sm-12 md-11 lg-11><div data-name="methods" row></div><form data-onsubmit="request" style="width: 100%;"><div row><div sm-12 md-6 lg-6><div><input type="text" data-name="url" name="url" placeholder="请求路径" data-oninput="setTitle" maxlength="10000"></div><textarea spellcheck="false" data-name="headers" name="headers" id="" cols="30" rows="9" \n            placeholder="消息头，格式： x-key: 1234" style="padding:0.35rem;" wrap="off"\n            mtop></textarea><div data-name="getnobody" show-middle-plus></div><div data-group=requestbody data-name="bodybox" mtop style="overflow-y: auto;max-height: 15vh;"><x-body></x-body><x-body type="file"></x-body></div><div data-group=requestbody row mtop data-name="newbody"></div></div><div sm-12 md-6 lg-6 style="padding: 0 0.258rem;"><div><input type="text" data-name="statusCode" placeholder="响应状态码" readonly></div><textarea spellcheck="false" data-name="responseHeaders" id="" cols="30" rows="9" \n            placeholder="响应消息头" readonly style="padding:0.35rem;" wrap="off"\n            mtop></textarea><textarea mtop data-name="responseResult" readonly id="" cols="30" rows="15" \n            style="padding:0.5rem;" placeholder="请求结果"></textarea><div align-right row><div c-8></div><div c-2 align-right><span data-onclick="fmtResult" data-fmt="result" style="padding:0.2rem;" click click-middle middle>格式化</span></div><div c-2 align-right><span data-onclick="sourceResult" data-fmt="result" style="padding:0.2rem;" click click-middle middle>原数据</span></div></div><div row mtop><div cell><button type="button" class="btn-orange" data-onclick="history">历史请求</button></div><div cell align-right><input type="submit" data-name="submitbutton" value="发送"></div></div></div></div></form></div><div md-0-5 lg-0-5></div></div><div container row mtop-2></div>'}(w.__bindpage__("request"),w.pages);</script>
  <script>'use strict';;w.init=async()=>{(await require("pushStart"))(),w.dev||(w.host=location.protocol+"//"+location.host),w.share.menus=[{name:"首页",url:"#home"},{name:"文档",url:"#doc"},{name:"指导",url:"#guide"},{name:"服务端",url:"#backend"}]};</script>
  <script>
  'use strict';

  window.addEventListener('load', async function () {
    let dms = [
      'coverdom','notifydom','alertdom', 'slidedom', 'alertcoverdom', 'notifytopdom',
      'tabsdom','tabsmenudom', 'historydom','slidexdom', 'navibtndom', 'promptdom', 'promptclosedom', 'promptmiddledom', 'promptmiddleclosedom',
    ];

    for (let i=0; i<dms.length; i++) {
      Object.defineProperty(w, dms[i], {
        enumerable: false,
        writable: false,
        value: w.interfacedom.insertBefore(
          document.createElement('div'),
          w.interfacedom.firstChild
        )
      });
    }

    await new Promise(rv => {setTimeout(rv, 5);});

    w.initPage();

    if (w.tabs.list.length > 0) {
      w.tabsmenudom.className = 'w-tabbar-row-x';
      w.tabsmenudom.background = '#fafaff';
      w.tabsmenudom.innerHTML = ``;
    }
  });

  window.addEventListener('pageshow', async function() {
    await new Promise(rv => {setTimeout(() => {rv();}, 35);});
    if (w.init && typeof w.init === 'function') {
      try{await w.init();}catch(err){alertError(err.message);console.error(err)}
    }
    if (w.tabs.list.length > 0 && w.tabs.pageIndex[w.homepage] !== undefined && location.hash.length < 2)
    {
      w.switchTab(w.homepage);
    } else {
      w.listenHash();
    }
  });

  window.jump_page_forward = false;

  document.addEventListener('click', evt => {
    let t = evt.target;
    let ft = evt.currentTarget;
    if ((!t || !t.tagName || t.tagName !== 'A') && ft) {
      t = ft;
    }

    if (t.activeElement && t.activeElement.tagName === 'A') {
      let href = t.activeElement.href || '';
      if (href === 'javascript:history.back();' || href === 'javascript:history.go(-1);')
      {
        window.jump_page_forward = -1;
        return;
      }
    }
  
    let url = '';
    if (t && t.tagName && t.tagName === 'A') {
      url = t.href;
    } else if (t.documentURI) {
      url = t.documentURI;
    }

    if (url) {
      let cur_url = location.protocol + '/'+'/' + location.host + location.pathname;
      if (url.indexOf(cur_url) === 0 && url.indexOf('#') > 0) {
        window.jump_page_forward = true;
      }
    }
  });

  window.addEventListener('hashchange', async function(e) {
    if (w.hashchange && typeof w.hashchange === 'function') {
      if (w.hashchange(e) === false) {
        return;
      }
    }

    await new Promise((rv, rj) => { setTimeout(rv, 9); });

    let parsehash = (h) => {
      let ind = h.indexOf('#');
      if (ind < 0) return '#';
      return h.substring(ind);
    };
    
    let hashstr = parsehash(e.oldURL);
    let new_hashstr = parsehash(e.newURL);

    if (w.historyList.length > 95) {
      for (let i = 0; i < 50; i++) {
        w.historyList.shift();
      }
      w.historyList.unshift('#');
    }

    let ind = w.historyList.indexOf(hashstr);

    let op = '';
    if (w.historyLength < history.length || window.jump_page_forward === true) {
      op = 'forward';
      window.jump_page_forward = false;
    } else {
      if (ind > 1) {
        if (w.historyList[ind-1] === new_hashstr) {
          op = 'back';
        } else {
          op = 'forward';
        }
      } else {
        op = 'back';
      }

      if (window.jump_page_forward === -1) {
        window.jump_page_forward = false;
        op = 'back';
      }
    }

    w.historyList.push(new_hashstr);
    w.historyLength = history.length;

    w.listenHash(op);
  });

  window.addEventListener('scroll', function (){w.events.scroll();});
  window.addEventListener('resize', function (){w.events.resize();});
  
        window.addEventListener('beforeunload', (e) => {
          for (let k in w.pages) {
            if (w.pages[k].onbeforeunload && typeof w.pages[k].onbeforeunload === 'function') {
              w.pages[k].onbeforeunload();
            }
          }
        }, {capture:true});
        window.addEventListener('unload', (evt) => { w.destroyAllPage(); });
      
  ;(()=>{ w.__components_css__={"head-menu":["mgrid.css","basic.css","concise.min.css","concise-ui.min.css"],"user-info":["mgrid.css","basic.css","concise.min.css","concise-ui.min.css"],"doc-list":["mgrid.css","basic.css","concise.min.css","concise-ui.min.css"],"doc-content":["mgrid.css","basic.css","concise.min.css","concise-ui.min.css"],"x-app":["mgrid.css","basic.css","concise.min.css","concise-ui.min.css"],"x-body":["mgrid.css","basic.css","concise.min.css","concise-ui.min.css"]};w.__css_code_map__={"mgrid.css":".fullbox,[fullbox]{margin:0 auto;padding:0 .2rem}.container,.page-box,[page-box]{margin:0 auto;padding:0 .68rem}.row,[row]{box-sizing:border-box;display:flex;flex-flow:row wrap}.flex-middle,[flex-middle]{align-items:center}.flex-item,[flex-item]{flex:0 1 auto}.row-nowrap,[row-nowrap]{flex-flow:row nowrap}.row-space,[row-space]{justify-content:space-around}.cell,[cell]{padding-left:.5rem;padding-right:.5rem;flex:1;box-sizing:border-box}.c-0-5,[c-0-5]{width:4.15%;box-sizing:border-box}.c-1,.c-2,[c-1],[c-2]{width:8.333333%;box-sizing:border-box}.c-2,[c-2]{width:16.666666%}.c-3,.c-4,[c-3],[c-4]{width:25%;box-sizing:border-box}.c-4,[c-4]{width:33.333333%}.c-5,.c-6,[c-5],[c-6]{width:41.666666%;box-sizing:border-box}.c-6,[c-6]{width:50%}.c-7,.c-8,[c-7],[c-8]{width:58.336666%;box-sizing:border-box}.c-8,[c-8]{width:66.666666%}.c-10,.c-9,[c-10],[c-9]{width:75%;box-sizing:border-box}.c-10,[c-10]{width:83.333333%}.c-11,.c-12,[c-11],[c-12]{width:91.666666%;box-sizing:border-box}.c-12,[c-12]{width:100%}@media only screen and (max-width:750px){.hide-for-small,.show-large-only,.show-middle-plus,[hide-for-small],[show-large-only],[show-middle-plus]{visibility:hidden;display:none}.sm-0-5,[sm-0-5]{width:4.15%;box-sizing:border-box}.sm-1,.sm-2,[sm-1],[sm-2]{width:8.333333%;box-sizing:border-box}.sm-2,[sm-2]{width:16.666666%}.sm-3,.sm-4,[sm-3],[sm-4]{width:25%;box-sizing:border-box}.sm-4,[sm-4]{width:33.333333%}.sm-5,.sm-6,[sm-5],[sm-6]{width:41.666666%;box-sizing:border-box}.sm-6,[sm-6]{width:50%}.sm-7,.sm-8,[sm-7],[sm-8]{width:58.33%;box-sizing:border-box}.sm-8,[sm-8]{width:66.666666%}.sm-10,.sm-9,[sm-10],[sm-9]{width:75%;box-sizing:border-box}.sm-10,[sm-10]{width:83.333333%}.sm-11,.sm-12,[sm-11],[sm-12]{width:91.666666%;box-sizing:border-box}.sm-12,[sm-12]{width:100%}}@media only screen and (min-width:751px) and (max-width:1280px){.hide-for-middle,.show-large-only,.show-small-only,[hide-for-middle],[show-large-only],[show-small-only]{visibility:hidden;display:none}.md-0-5,[md-0-5]{width:4.15%;box-sizing:border-box}.md-1,.md-2,[md-1],[md-2]{width:8.333333%;box-sizing:border-box}.md-2,[md-2]{width:16.666666%}.md-3,.md-4,[md-3],[md-4]{width:25%;box-sizing:border-box}.md-4,[md-4]{width:33.333333%}.md-5,.md-6,[md-5],[md-6]{width:41.666666%;box-sizing:border-box}.md-6,[md-6]{width:50%}.md-7,.md-8,[md-7],[md-8]{width:58.333333%;box-sizing:border-box}.md-8,[md-8]{width:66.666666%}.md-10,.md-9,[md-10],[md-9]{width:75%;box-sizing:border-box}.md-10,[md-10]{width:83.333333%}.md-11,.md-12,[md-11],[md-12]{width:91.666666%;box-sizing:border-box}.md-12,[md-12]{width:100%}}@media only screen and (min-width:1281px){.hide-for-large,.show-small-only,[hide-for-large],[show-small-only]{visibility:hidden;display:none}.lg-0-5,[lg-0-5]{width:4.15%;box-sizing:border-box}.lg-1,.lg-2,[lg-1],[lg-2]{width:8.333333%;box-sizing:border-box}.lg-2,[lg-2]{width:16.666666%}.lg-3,.lg-4,[lg-3],[lg-4]{width:25%;box-sizing:border-box}.lg-4,[lg-4]{width:33.333333%}.lg-5,.lg-6,[lg-5],[lg-6]{width:41.666666%;box-sizing:border-box}.lg-6,[lg-6]{width:50%}.lg-7,.lg-8,[lg-7],[lg-8]{width:58.333333%;box-sizing:border-box}.lg-8,[lg-8]{width:66.666666%}.lg-10,.lg-9,[lg-10],[lg-9]{width:75%;box-sizing:border-box}.lg-10,[lg-10]{width:83.333333%}.lg-11,.lg-12,[lg-11],[lg-12]{width:91.666666%;box-sizing:border-box}.lg-12,[lg-12]{width:100%}}","basic.css":"@keyframes rotating{0%{transform:rotateZ(0deg)}15%{transform:rotateZ(60deg)}35%{transform:rotateZ(120deg)}55%{transform:rotateZ(180deg)}75%{transform:rotateZ(240deg)}95%{transform:rotateZ(300deg)}to{transform:rotateZ(360deg)}}@font-face{font-family:\"JetBrainsMono\";src:url(/wy-wxm-ww-ok/wight-app/static/font/JetBrainsMono-Regular.ttf)}[container]{max-width:2240px}:root{font-size:16px;font-family:\"JetBrainsMono,Helvetica,Arial,sans-serif\";--w-prompt-bg-color:#f7f9fb}div,h1,h2,h3,h4,h5,h6,input:not([type=submit]):not([type=range]),p,span{font-family:\"JetBrainsMono,Helvetica,Arial,sans-serif\"}button:hover,input[type=submit]:hover{background-color:#4d77f6}button:active,input[type=submit]:active{background-color:#5981f9}button{background:#148de3;border-radius:.08rem}textarea:focus{outline:0}input:not([type=submit]):focus{outline:0;border:solid .5px #27a3fb}.short-input,[short-input]{width:60%}.middle-input,[middle-input]{width:80%}.long-input,[long-input],table{width:100%}.editor-area{min-height:25rem;overflow:auto;margin-top:.15rem}.btn-circle,[btn-circle]{width:2.65rem;height:2.65rem;border-radius:1.325rem;background-color:#f5f6f8;box-shadow:var(--w-common-shadow, -0.12rem 0.2rem 0.23rem rgba(125, 125, 125, 0.56));line-height:2.64rem;text-align:center;font-size:.95em;color:#4a4a4f;overflow:hidden;margin-left:.28rem;margin-right:.28rem;cursor:pointer;margin-bottom:.36rem;user-select:none}.btn-block,[btn-block]{width:2.8rem;height:2rem;line-height:2rem;border-radius:.25rem}.btn-orange{background:#ee5832;color:#424345}.btn-gray{background:#d1d2d5;color:#424345}.btn-light-gray{background:#dfdfe1;color:#424345}.btn-dark{background:#6a6a6a;color:#dfdfdf}.btn-dark-rgba{background:rgba(105,105,105,.58);color:#dfdfdf}.btn-ok{background:#4268df}.btn-red{background:#ca4545;color:#424245}.btn-ok{background:#3ca8bb;color:#424345}input[type=submit]{background:#a84e70;border-radius:.08rem}input[ok]{background:#1ba3a3}.testok{background:#d9dde0}.btn-set{background:#e44a82;color:#424345}.btn-search{background:#5e5ef5;color:#424345}.a-menu,[a-menu]{text-decoration:none;color:#4a4a59}.spana,[spana]{cursor:pointer;padding:.25rem;color:#4a4a68;line-height:120%;user-select:none}.spana-middle,[spana-middle]{font-size:92%}.spana-small,[spana-small]{font-size:86%}.spana-tiny,[spana-tiny]{font-size:80%}.align-center,[align-center]{text-align:center}.align-left,[align-left]{text-align:left}.align-right,[align-right]{text-align:right}.alert-text,[alert-text]{color:#d93516}.middle,[middle]{font-size:92%}.small,[small]{font-size:85%}.tiny,[tiny]{font-size:78%}.helper,[helper]{font-size:85%;color:#676869}.italic,[italic]{font-style:italic}.helper-light,[helper-light]{font-size:86%;color:#dfdfe2}.padding-0-25,[padding-0-25]{padding:.25rem}.padding-0-5,[padding-0-5]{padding:.5rem}.padding-0-8,[padding-0-8]{padding:.8rem}.padding,[padding]{padding:1rem}.mtop-0-5,[mtop-0-5]{margin-top:.5rem}.mleft-0-5,[mleft-0-5]{margin-left:.5rem}.mright-0-5,[mright-0-5]{margin-right:.5rem}.mbottom-0-5,[mbottom-0-5]{margin-bottom:.5rem}.mtop,[mtop]{margin-top:1rem}.mtop-2,[mtop-2]{margin-top:2rem}.mbottom,[mbottom]{margin-bottom:1rem}.loadinfo-worker{border:.05rem solid #4556d5}.loadinfo-master{border:.05rem solid #676869}.image,[image]{width:auto;height:auto;max-width:100%;border-radius:.1rem}.card-head,[card-head]{font-weight:680}.card,[card]{padding:.6rem;border-radius:.18rem;box-shadow:.2rem .2rem .2rem #efeff2;margin:.8rem auto}.inset-shadow,[inset-shadow]{box-shadow:0 .1rem 1.2rem .1rem rgba(15,15,15,.1),inset 0-.1rem 0 0 rgba(15,15,15,.1)}.card-space,[card-space]{margin:.38rem auto}.icon,[icon]{width:1.1rem;height:auto}.icon-large,[icon-large]{width:1.6rem;height:auto}.block,[block]{border:#e5e8e9 solid .05rem;padding:.35rem}.select,[select]{background:#efeff2}.select-blue,[select-blue]{background:#5689f9}.content-preview{padding:.25rem;margin-bottom:1rem;margin-top:.8rem}.lh158,[lh158]{line-height:158%}.lh2,[lh2]{line-height:200%}.line,[line]{width:100%;height:.25rem;margin-bottom:.58rem;border-bottom:solid #cdcdcf .08rem}.bold,[bold]{font-weight:700}.rotate,[rotate]{animation:rotating .36s infinite}.blue-dark,[blue-dark]{color:#1573b6}.blue,[blue]{color:#2298ed}.dark,[dark]{color:#32373d}.dark-light,[dark-light]{color:#4f4f4f}.red,[red]{color:#cd5245}.pink-red,[pink-red]{color:#db3186}.red-light,[red-light]{color:#dc3c3c}.red-dark,[red-dark]{color:#b73333}.orange,[orange]{color:#f17f42}.gray,[gray]{color:#666}.gray-light,[gray-light]{color:#a9a9a9}.editor-title{background:#565758;color:#dfdfdf}.hide,[hide]{display:none;visibility:hidden}.click,[click]{cursor:pointer}.click:hover,[click]:hover,a:hover{color:#212223;text-shadow:2px 2px .5rem #d1d1d1}.click:active,[click]:active,a:active{font-size:99.2%;transform:scale(.95)}.click-middle:active,.click-small:active,[click-middle]:active,[click-small]:active{font-size:91%;text-decoration:none;transform:scale(.95)}.click-small:active,[click-small]:active{font-size:83.5%}.click,.select-none,[click],[select-none]{user-select:none}.center,[center]{display:grid;place-items:center}.circle-image,[circle-image]{border-radius:50%}","concise.min.css":"@charset \"UTF-8\";article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}:root{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;line-height:1.5;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background-color:#fff;color:#444;font-size:16px;text-rendering:optimizeLegibility}@media (min-width:480px){:root{font-size:18px}}code,kbd,pre,samp{font-family:Consolas,monospace;font-size:.83333rem;background-color:#f5f5f5}kbd{background-color:transparent;outline:1px solid #dcdcdc}code,kbd{vertical-align:middle;display:inline-block;padding:0 .4em}pre{padding:.75rem 1em}pre>code{white-space:pre}hr{background-color:#dcdcdc;height:1px;overflow:visible;border:0}nav ol,nav ul{padding-left:0}nav li,ol li{list-style:none}dt{font-weight:700}blockquote{padding:0 1em}blockquote cite,blockquote footer{color:#777;font-size:83.33333%;margin-top:.75rem}blockquote cite:before,blockquote footer:before{content:\"— \"}abbr{-webkit-font-feature-settings:\"kern\"1,\"liga\"1,\"calt\"1,\"pnum\"1,\"tnum\"0,\"onum\"1,\"lnum\"0,\"smcp\"1,\"c2sc\"1;font-feature-settings:\"kern\"1,\"liga\"1,\"calt\"1,\"pnum\"1,\"tnum\"0,\"onum\"1,\"lnum\"0,\"smcp\"1,\"c2sc\"1;text-transform:uppercase}abbr[title]{border-bottom:1px solid #dcdcdc;cursor:help;text-decoration:none}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}progress{vertical-align:baseline}small,sub,sup{font-size:83.33333%}sub,sup{line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em;-webkit-font-feature-settings:\"subs\"1;font-feature-settings:\"subs\"1}sup{top:-.25em;-webkit-font-feature-settings:\"sups\"1;font-feature-settings:\"sups\"1}::-moz-selection{background-color:#ebe1d3;text-shadow:none}::selection{background-color:#ebe1d3;text-shadow:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}img{border-style:none}svg{fill:currentColor}svg:not(:root){overflow:hidden}a{background-color:transparent;-webkit-text-decoration-skip:objects;color:#c65146;text-decoration:none;-webkit-transition-duration:.15s;transition-duration:.15s}a:focus,a:hover{color:#7f2f27}a:hover{outline-width:0}table{border-collapse:collapse;border-spacing:0;width:100%}input,textarea{background-color:transparent}input,select,textarea{border-style:none;color:inherit}button,input,input[type=submit]{overflow:visible}button,input[type=submit],select{text-transform:none}[type=reset],[type=submit],button,html [type=button],input[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid #dcdcdc;padding:1.5rem 1em}legend{display:table;max-width:100%;white-space:normal;padding:0 .5em}textarea{overflow:auto;resize:vertical;height:auto;padding:.375rem .5em}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-cancel-button,::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}input[type=range]{border:0;padding:0;width:100%;-webkit-appearance:none}input[type=range]:focus{outline:0}input[type=range]::-moz-range-track{background-color:#dcdcdc;border:0;height:.3rem}input[type=range]::-ms-track{background-color:#dcdcdc;border:0;height:.3rem}input[type=range]::-webkit-slider-runnable-track{background-color:#dcdcdc;border:0;height:.3rem}input[type=range]::-moz-range-thumb{border:0;border-radius:50%;background-color:#c65146;height:.75rem;margin-top:-.225rem;width:.75rem}input[type=range]::-ms-thumb{border:0;border-radius:50%;background-color:#c65146;height:.75rem;margin-top:-.225rem;width:.75rem}input[type=range]::-webkit-slider-thumb{border:0;border-radius:50%;background-color:#c65146;height:.75rem;margin-top:-.225rem;width:.75rem;-webkit-appearance:none}button,input[type=submit]{background-color:#c65146;border:0;color:#fff;cursor:pointer;font-size:.83333rem;line-height:2.25rem;padding:0 1.5em;-webkit-transition:background-color .15s;transition:background-color .15s;white-space:nowrap}button:focus,button:hover,input[type=submit]:focus,input[type=submit]:hover{text-decoration:none;outline:0}button[disabled],input[disabled][type=submit]{background-color:#eee;cursor:not-allowed}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}[tabindex],a,area,button,input,input[type=submit],label,select,textarea{-ms-touch-action:manipulation;touch-action:manipulation}[hidden][aria-hidden=false]{clip:rect(0,0,0,0);display:inherit;position:absolute}[hidden][aria-hidden=false]:focus{clip:auto}*{margin:0}*+*{margin-top:1.5rem}[column],a,body,code,dd,div,h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,input,kbd,label,li,option,select,span,textarea{margin-top:0}h1,h2,h3,h4,h5,h6{font-size:2.0736rem;color:#222;font-family:Helvetica,Arial,sans-serif;line-height:1.3}h2,h3,h4,h5,h6{font-size:1.728rem}h3,h4,h5,h6{font-size:1.44rem}h4,h5,h6{font-size:1.2rem}h5,h6{font-size:1rem}h6{font-size:.83333rem}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:inherit;vertical-align:0;font-size:83.33333%}h1,h2,h3{margin:.75rem 0 .375rem}h1 a,h2 a,h3 a{color:inherit}h1 a:focus,h1 a:hover,h2 a:focus,h2 a:hover,h3 a:focus,h3 a:hover{text-decoration:none}h4,h5,h6{margin:.375rem 0}ul{padding-left:1em}ol ol,ol ul,ul ol,ul ul{padding-left:1.5em}ol{padding-left:0;counter-reset:a}ol li:before{content:counters(a,\".\")\". \";counter-increment:a;margin-right:.2em}input:not([type=submit]),select,textarea{-webkit-transition-duration:.15s;transition-duration:.15s;width:100%;font-size:.83333rem;min-height:2.25rem}input:not([type=submit]):focus,select:focus,textarea:focus{border-color:#4eb1f9}input:not([type=submit])[disabled],select[disabled],textarea[disabled]{background-color:#eee;cursor:not-allowed;border:0}input:not([type=submit]):not([type=range]),select,textarea{border:1px solid #dcdcdc;padding:0 .75em}input[type=checkbox],input[type=file],input[type=image],input[type=radio]{height:auto;width:auto}input[type=checkbox],input[type=radio]{line-height:normal;padding:0;vertical-align:middle}input[type=file]{border:0;line-height:1.5rem;padding:0}select{background-color:transparent;padding-left:.5em;width:auto;min-width:10em;height:2.25rem}select[disabled]{color:#777}select[multiple]{height:auto;width:100%;padding:0}select::-ms-expand{display:none}select::-ms-value{color:currentColor}select option{padding:0 .75em}label{display:block;font-size:.83333rem;line-height:2.25rem}input[type=checkbox]+label,input[type=radio]+label{display:inline-block;margin-left:.5em}@media (min-width:480px){table{width:auto}}table tfoot,table thead{background-color:#f5f5f5;text-align:left}table td,table th{line-height:2.25rem;overflow:visible;padding:0 1em}table caption{font-size:.83333rem;font-style:italic;line-height:3rem;text-align:center}[container]{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:1rem;padding-right:1rem;overflow:auto}[grid]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:-1rem;margin-right:-1rem;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width:480px){[grid]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}[column]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding-left:1rem;padding-right:1rem}[grid~=no-gutters]{margin-left:0;margin-right:0}[grid~=no-gutters] [column]{padding-left:0;padding-right:0}[grid~=no-collapse]{-ms-flex-flow:row nowrap;flex-flow:row}[grid~=wrap]{-ms-flex-wrap:wrap;flex-wrap:wrap}[grid~=no-wrap]{-ms-flex-wrap:nowrap;flex-wrap:nowrap}[grid~=wrap-reverse]{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}[grid~=row-reverse],[grid~=row]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}[grid~=row-reverse]{-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}[grid~=column-reverse],[grid~=column]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}[grid~=column-reverse]{-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}[grid~=justify-start]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}[grid~=justify-end]{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}[grid~=justify-center]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[grid~=justify-between]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}[grid~=justify-around]{-ms-flex-pack:distribute;justify-content:space-around}[grid~=top]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}[grid~=center]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}[grid~=bottom]{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[grid~=baseline]{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}[grid~=stretch]{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}[column~=top]{-ms-flex-item-align:start;align-self:flex-start}[column~=center]{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}[column~=bottom]{-ms-flex-item-align:end;align-self:flex-end}@media (min-width:480px){[column~=\"1\"],[column~=\"2\"]{-webkit-box-flex:0;-ms-flex:0 1 8.33333%;flex:0 1 8.33333%;max-width:8.33333%}[column~=\"2\"]{-ms-flex:0 1 16.66667%;flex:0 1 16.66667%;max-width:16.66667%}[column~=\"3\"],[column~=\"4\"]{-webkit-box-flex:0;-ms-flex:0 1 25%;flex:0 1 25%;max-width:25%}[column~=\"4\"]{-ms-flex:0 1 33.33333%;flex:0 1 33.33333%;max-width:33.33333%}[column~=\"5\"],[column~=\"6\"]{-webkit-box-flex:0;-ms-flex:0 1 41.66667%;flex:0 1 41.66667%;max-width:41.66667%}[column~=\"6\"]{-ms-flex:0 1 50%;flex:0 1 50%;max-width:50%}[column~=\"7\"],[column~=\"8\"]{-webkit-box-flex:0;-ms-flex:0 1 58.33333%;flex:0 1 58.33333%;max-width:58.33333%}[column~=\"8\"]{-ms-flex:0 1 66.66667%;flex:0 1 66.66667%;max-width:66.66667%}[column~=\"10\"],[column~=\"9\"]{-webkit-box-flex:0;-ms-flex:0 1 75%;flex:0 1 75%;max-width:75%}[column~=\"10\"]{-ms-flex:0 1 83.33333%;flex:0 1 83.33333%;max-width:83.33333%}[column~=\"11\"],[column~=\"12\"]{-webkit-box-flex:0;-ms-flex:0 1 91.66667%;flex:0 1 91.66667%;max-width:91.66667%}[column~=\"12\"]{-ms-flex:0 1 100%;flex:0 1 100%;max-width:100%}[column~=\"+1\"]{margin-left:8.33333%}[column~=\"+2\"]{margin-left:16.66667%}[column~=\"+3\"]{margin-left:25%}[column~=\"+4\"]{margin-left:33.33333%}[column~=\"+5\"]{margin-left:41.66667%}[column~=\"+6\"]{margin-left:50%}[column~=\"+7\"]{margin-left:58.33333%}[column~=\"+8\"]{margin-left:66.66667%}[column~=\"+9\"]{margin-left:75%}[column~=\"+10\"]{margin-left:83.33333%}[column~=\"+11\"]{margin-left:91.66667%}[column~=\"+12\"]{margin-left:100%}}@media print{@page{margin:2cm}*,:after,:before{background:0 0!important;color:#000!important;-webkit-filter:none!important;filter:none!important;text-shadow:none!important}:root{background-color:#fff;color:#000;font:12pt/1.4 Georgia,Times New Roman,Times,serif}body{width:100%!important;margin:0!important;padding:0!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;font-family:Georgia,Times New Roman,Times,serif}h1{font-size:19pt}h2{font-size:17pt}h3{font-size:15pt}h4,h5,h6{font-size:14pt}img{max-width:100%!important;page-break-after:avoid}a[href^=\"#\"]:after,audio,embed,footer,nav,object,video{display:none;visibility:hidden}h2,h3,p{orphans:3;widows:3}a,a:visited{color:#000;font-size:.57em;text-decoration:underline;word-wrap:break-word}a:visited[href]:after,a[href]:after{content:\" (\"attr(href)\")\";font-size:smaller}q:after{content:\" (Source: \"attr(cite)\")\"}abbr[title]:after{content:\" (\"attr(title)\")\"}a:after,a[href^=\"#\"]:after,a[href^=\"javascript:\"]:after{content:\"\"}code,pre{background-color:transparent;border:1px solid #dcdcdc}blockquote,code,img,pre,tr{page-break-inside:avoid}blockquote{border:0}thead{display:table-header-group}ol{padding-left:1.25em}ul{padding-left:0;list-style:none}ul ul,ul ul ul{padding-left:1.5em}ol li,ul li{content:\"&raquo; \"}}","concise-ui.min.css":"@keyframes a{0%{background-position:0 0}to{background-position:50px 50px}}@-webkit-keyframes a{0%{background-position:0 0}to{background-position:50px 50px}}@-webkit-keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.alert-box,.breadcrumb-nav{background-color:#f5f5f5;font-size:.83333rem}.alert-box{border:1px solid #dcdcdc;padding:.75rem 1em;position:relative;color:#777}.alert-box>.close{color:inherit;position:absolute;right:1em;top:.8em;opacity:.5;-webkit-transition:opacity .15s;transition:opacity .15s}.alert-box>.close:hover{opacity:1}.alert-box.-muted{background-color:rgba(237,237,237,.15);border-color:rgba(237,237,237,.2);color:#d5d5d5}.alert-box.-muted a{color:#bbb}.alert-box.-success{background-color:rgba(16,168,135,.15);border-color:rgba(16,168,135,.2);color:#0c7962}.alert-box.-success a{color:#074b3c}.alert-box.-warning{background-color:rgba(241,127,66,.15);border-color:rgba(241,127,66,.2);color:#ed5f13}.alert-box.-warning a{color:#bf4c0e}.alert-box.-error{background-color:rgba(218,60,60,.15);border-color:rgba(218,60,60,.2);color:#bf2424}.alert-box.-error a{color:#941c1c}.breadcrumb-nav{padding:.75rem 1.5em;font-weight:700}.breadcrumb-nav>.item{display:inline;list-style:none;margin-right:1em}.breadcrumb-nav>.item:not(:last-child):after{color:#dcdcdc;content:\"/\";margin-left:1em}.breadcrumb-nav>.item.-active,.breadcrumb-nav>.item.-active a{color:#777;font-weight:400}.button-group{padding:0;display:-webkit-box;display:-ms-flexbox;display:flex}.button-group>li{list-style:none;border:1px solid #dcdcdc;font-size:.83333rem}.button-group>li:first-child{border-radius:3px 0 0 3px}.button-group>li:last-child{border-radius:0 3px 3px 0}.button-group>li:not(:last-child){border-right:0}.button-group .item{display:inline-block;line-height:1.5rem;padding:0 1em;-webkit-transition:background-color .15s;transition:background-color .15s}.button-group .item:focus,.button-group .item:hover{background-color:#f5f5f5}.button-group .item.-active{background-color:#f5f5f5;color:#777}.card-box{border:1px solid #dcdcdc;overflow:hidden;position:relative}.card-box>.image{max-width:100%}.card-box>.header{font-weight:700}.card-box>.footer{font-size:.83333rem}.card-box>.footer,.card-box>.header{padding:.75rem 1em;background-color:#f5f5f5}.card-content{padding:1.5rem 1em}.card-content>.title{margin-top:0}.dropdown-button{cursor:pointer;display:inline-block;outline:0;position:relative}.dropdown-button:focus{pointer-events:none}.dropdown-button.-hover:hover .dropdown-content,.dropdown-button:focus .dropdown-content{opacity:1;visibility:visible}.dropdown-button.-top .dropdown-content{bottom:100%;margin-top:0;margin-bottom:.375rem}.dropdown-content{background-color:#fff;border:1px solid #dcdcdc;color:#444;left:0;margin-top:.375rem;opacity:0;padding:0;pointer-events:auto;position:absolute;text-align:left;-webkit-transition-duration:.15s;transition-duration:.15s;visibility:hidden;min-width:10em;z-index:1;font-size:.83333rem}.dropdown-content>.item{list-style-type:none;margin:0;padding:.375rem 1em;-webkit-transition:background-color .15s;transition:background-color .15s;white-space:nowrap}.dropdown-content>.item:focus,.dropdown-content>.item:hover{background-color:#f5f5f5}.dropdown-content>.text{padding:.375rem 1em}.progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 1px rgba(219,219,219,.25);box-sizing:initial;color:#fff;font-size:.83333rem;height:.75rem;line-height:1.2;position:relative;text-align:center;width:100%}.progress-bar>.progress{background-color:#c65146;border-radius:3px;box-shadow:inset 0-1px 0 rgba(0,0,0,.15);display:block;height:100%;overflow:hidden;position:relative}.progress-bar.-striped>.progress:after{background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.2) 25%,transparent 0,transparent 50%,rgba(255,255,255,.2)0,rgba(255,255,255,.2) 75%,transparent 0,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 0,transparent 50%,rgba(255,255,255,.2)0,rgba(255,255,255,.2) 75%,transparent 0,transparent);background-size:50px 50px;background-repeat:repeat;bottom:0;content:\"\";left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}.progress-bar.-striped.-animated>.progress:after{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}.progress-bar.-small{font-size:.83333rem;height:10px;line-height:1.2}.progress-bar.-large{font-size:1rem;height:25px;line-height:1.7}.progress-bar.-stacked>.progress{border-radius:0;display:block;float:left}.progress-bar.-stacked>.progress:first-of-type{border-radius:3px 0 0 3px}.progress-bar.-stacked>.progress:last-of-type{border-radius:0 3px 3px 0}.tag-box{background-color:#f5f5f5;color:#777;border-radius:.2em;display:inline-block;font-size:83.33333%;padding:0 .5em;font-weight:400}.tag-box.-pill{border-radius:2em}.tag-box.-muted{background-color:rgba(237,237,237,.15);color:#d5d5d5}.tag-box.-success{background-color:rgba(16,168,135,.15);color:#0c7962}.tag-box.-warning{background-color:rgba(241,127,66,.15);color:#ed5f13}.tag-box.-error{background-color:rgba(218,60,60,.15);color:#bf2424}button.-bordered{background-color:transparent;border:1px solid #c65146;color:#c65146}button.-bordered:focus,button.-bordered:hover{background-color:#c65146;color:#fff}button.-bordered[disabled]{border-color:#eee;color:#eee}button.-bordered.-muted,button.-bordered[disabled]:active,button.-bordered[disabled]:focus,button.-bordered[disabled]:hover{background-color:transparent;border-color:#eee;color:#eee}button.-bordered.-muted:focus,button.-bordered.-muted:hover{background-color:#eee}button.-bordered.-muted:active{background-color:ligthen(#eee,5%)}button.-bordered.-muted:active,button.-bordered.-muted:focus,button.-bordered.-muted:hover{color:#fff}button.-bordered.-success{border-color:#10a887;background-color:transparent;color:#10a887}button.-bordered.-success:focus,button.-bordered.-success:hover{background-color:#10a887}button.-bordered.-success:active{background-color:ligthen(#10a887,5%)}button.-bordered.-success:active,button.-bordered.-success:focus,button.-bordered.-success:hover{color:#fff}button.-bordered.-warning{border-color:#f17f42;background-color:transparent;color:#f17f42}button.-bordered.-warning:focus,button.-bordered.-warning:hover{background-color:#f17f42}button.-bordered.-warning:active{background-color:ligthen(#f17f42,5%)}button.-bordered.-warning:active,button.-bordered.-warning:focus,button.-bordered.-warning:hover{color:#fff}button.-bordered.-error{border-color:#da3c3c;background-color:transparent;color:#da3c3c}button.-bordered.-error:focus,button.-bordered.-error:hover{background-color:#da3c3c}button.-bordered.-error:active{background-color:ligthen(#da3c3c,5%)}button.-bordered.-error:active,button.-bordered.-error:focus,button.-bordered.-error:hover{color:#fff}button.-muted{background-color:#eee;color:#fff}button.-muted:focus,button.-muted:hover{background-color:#fbfbfb}button.-muted:active{background-color:#fff}button.-success{background-color:#10a887;color:#fff}button.-success:focus,button.-success:hover{background-color:#12bf9a}button.-success:active{background-color:#14d7ac}button.-warning{background-color:#f17f42;color:#fff}button.-warning:focus,button.-warning:hover{background-color:#f38f5a}button.-warning:active{background-color:#f59f71}button.-error{background-color:#da3c3c;color:#fff}button.-error:focus,button.-error:hover{background-color:#de5151}button.-error:active{background-color:#e26767}button.-prefix{padding-left:0}button.-affix>.affix,button.-prefix .prefix{background-color:rgba(0,0,0,.15);display:inline-block;padding:0 1em;vertical-align:0}button.-prefix .prefix{margin-right:1.25em}button.-affix{padding-right:0}button.-affix>.affix{margin-left:1.25em}.spinner{-webkit-animation:b .8s infinite linear;animation:b .8s infinite linear;border:3px solid #b5b5b5;border-radius:50%;border-right-color:transparent;height:40px;margin:1.5rem auto;width:40px}"}; })();
  </script>
  
  <script src="/wy-wxm-ww-ok/wight-app/static/js/highlight.min.js"></script>
</body>
</html>